编辑:我遇到了下面的 cookie 问题,所以我切换到 jQuery Cookie,但错误仍然存在,所以我在这里发布了 jQuery Cookie 代码,但我原来的问题完好无损:
在一个页面上,我调用 colorbox 并且该代码可以正常工作,但在另一个页面上,我更改了 cookie 名称和调用的函数并且它中断了,这是该代码:
var $j = jQuery.noConflict();
$j(window).load(function() {
//I have also tried - $j(document).ready(function(){ -
///to see if that changed anything
if(!$j.cookie('homecookie')){
$j("#start").click();
//the click functions clicks a hidden link witch triggers a fancybox
//lightbox to load - works properly in all but IE (have tested 8) in which
//the lightbox continues to load regardless of the cookie
$j.cookie("homecookie", 1, {expires: 30, path: '/'});
}
});
我怎样才能让它在 IE 8+ 中工作 - 页面加载时不会引发错误。这是参考页面:
此页面应仅在首次访问时触发 Fancybox
注意:我已经在 FF、Chrome、Safari 和 Opera 中测试了上述 cookie/脚本,一切正常。
--------原始问题--------
我正在使用以下 cookie:
var $j = jQuery.noConflict();
$j(document).ready(function(){
if (document.cookie.indexOf('visited=true') == -1)
{
var thirtyDays = 1000*60*60*24*30;
var expires = new Date((new Date()).valueOf() + thirtyDays);
document.cookie = "visited=true;path=/;expires=" + expires.toUTCString();
$j.colorbox({ inline:true, href:"#gallery-nav-instruct"});
}
});
它适用于 FF 和 Chrome,但不适用于 IE 8。
设置中允许使用 Cookie。
有几个问题,在一个页面上,脚本不是由 IE (Colorbox) 在另一个页面上触发的,cookie 没有被重新配置,并且脚本不断被调用。只有两个脚本中的更改是更改$j.colorbox({ inline:true, href:"#gallery-nav-instruct"});
为$j("#start").click();