限制Pop在主页上加载 - Shopify

时间:2014-05-02 11:49:20

标签: javascript shopify

我希望此脚本仅在主页上加载,此时它在我的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>

2 个答案:

答案 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属性可能有帮助。