1

我在整个网站中使用 Colorbox 模式弹出窗口,但我想防止它出现在满足以下条件的情况下:

  1. 该模态在过去 15 天内已经出现过一次或
  2. 访问者通过特定页面进入网站,并且
  3. 访问者在查看特定页面后访问网站上的任何其他页面

以下代码似乎可以正常工作,我在除 IE8 和 9 之外的所有内容中都对其进行了测试。我可以让模式在 IE 中打开一次,但不能再次打开,即使缓存/cookie 被清除并重新启动浏览器也是如此。我在控制台中看不到任何错误。谁能帮我?

我的想法是在有人进入网站时显示模式,除非页面上存在指定的 DIV 或者他们已经使用 DIV 查看了该页面。

提前感谢您的帮助。

            <script type="text/javascript">
            var jQuery_1_8_3 = jQuery.noConflict(true);
            jQuery_1_8_3(document).ready(function(){
                    var emailFormExists = jQuery_1_8_3('#e2ma_signup_form');
                    if (document.cookie.indexOf('visited=true') == -1 && !(emailFormExists.length)){
                        var fifteenDays = 1000*60*60*24*15;
                        var expires = new Date((new Date()).valueOf() + fifteenDays);
                        document.cookie = "visited=true;expires=" + expires.toUTCString();
                        jQuery_1_8_3.colorbox({width:"30%", inline:true, href:"#email"});
                    }
                    else
                    {
                    jQuery_1_8_3('#e2ma_signup_form').length
                        var fifteenDays = 1000*60*60*24*15;
                        var expires = new Date((new Date()).valueOf() + fifteenDays);
                        document.cookie = "visited=true;expires=" + expires.toUTCString();  
                    }
                });
            </script>   
4

1 回答 1

1

我发现问题出在哪里——IE 在“删除浏览历史”菜单顶部有一个设置,上面写着“保留收藏夹网站数据”。这个框被选中了,当我拉起窗口时,我只是快速扫描以确保在没有阅读其他所有内容的情况下选中了 cookie 选项。

我一直在使用开发人员工具中的 Cache > Clear Cookies For Domain 选项在测试时清除 cookie,但我认为它不起作用,因为在浏览历史菜单中检查了该选项并且我正在测试的页面已添加书签在我的收藏夹中。

感觉有点像一个笨蛋,之前没有抓住它,但也许我不是唯一一个,这可以帮助别人。

于 2013-02-07T14:35:20.107 回答