jQuery Cookie在IE 8中不起作用?

时间:2011-11-13 06:08:21

标签: javascript jquery internet-explorer cookies jquery-cookie

编辑: 我遇到了下面的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+中运行 - 页面加载时不会抛出任何错误。以下是参考页面:

This Page应在首次访问时触发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();

2 个答案:

答案 0 :(得分:0)

你能试试这段代码吗?它效果更好吗?

https://developer.mozilla.org/en/DOM/document.cookie

答案 1 :(得分:0)

似乎Fancybox就是问题所在。我切换到colorbox并使用jQuery Cookie它在我遇到问题的页面上正常工作但它在另一个页面上有点不同created another issue

以下是有效的代码:

var $j = jQuery.noConflict();
$j(window).load(function() {
if(!$j.cookie('homecookie')){
$j.colorbox({ inline:true, href:"#home-welcome"});
$j.cookie("homecookie", 1, {expires: 30});
}
});