我希望此脚本仅在主页上加载,此时它在我的Shopify商店的所有页面中打开。我正在使用QuickShop主题。下面是代码,此代码用于我的简报弹出窗口。任何帮助,将不胜感激。非常感谢。
<script type="text/javascript">
jQuery(document).ready(function($){
var $_form = $('#mc-form');
var $_action = $_form.attr('action');
$_form.ajaxChimp({
url: $_action,
callback: function(resp){
//
}
});
});
$(window).load(function() {
{% if settings.popup_expires == '0' %}
$.removeCookie('popup_cookie');
{% endif %}
var $_popup_cookie = $.cookie('popup_cookie');
if ($_popup_cookie == undefined){
setTimeout(function(){
$('#mc-form-fancybox').fancybox({
'beforeClose': function(){
if($("#mc-popup-hide").is(':checked')){
$.cookie('popup_cookie', 'yes', { expires: {{settings.popup_expires}} });
}
else{
// no set cookie
}
}
}).trigger('click');
}, 1000);
}
});
</script>
答案 0 :(得分:2)
不要将您的脚本放在theme.liquid中,而是尝试将其放入index.liquid。 theme.liquid是为您网站上的每个页面呈现的,但index.liquid是您的主页模板。
答案 1 :(得分:0)
有很多种方法可以做到这一点。您只能在您的主页上包含该脚本,这样它只会在加载的页面上触发。如果您不能这样做,您可以随时查询window.location
属性以找出您所在的页面。
尝试将window.location
放入浏览器的JavaScript控制台,看看会发生什么。您将获得诸如主机(例如stackoverflow.com),href(例如Limiting Pop to load on homepage- Shopify),路径名(例如/ questions / 23427460 / limits-pop-to-load-on-homepage-shopify)和更多。
如果你在主页上,你可以使用它来解决问题,而不是解雇你的花哨盒。
还有许多其他的可能性,这只是我的头脑。我建议只是确保它只包含在你的主页中,如果可以,但如果不是,window.location属性可能有帮助。