jQuery Cookie не работает в IE 8? - PullRequest
       23

jQuery Cookie не работает в IE 8?

1 голос
/ 13 ноября 2011

РЕДАКТИРОВАТЬ: У меня возникла проблема с файлом 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 только при первом посещении

Примечание. Я протестировал указанный выше файл cookie / скрипт в FF, Chrome, Safari и Opera, и все работает нормально.


-------- Оригинальный вопрос --------

Я использую следующий файл 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.

Cookies разрешены в настройках.

Есть пара проблем: на одной странице IE не запускает скрипт (Colorbox), на другой странице cookie не пересматривается, и скрипт продолжает вызываться. Только изменение в двух скриптах - это изменение $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); на $j("#start").click();

Ответы [ 2 ]

0 голосов
/ 14 ноября 2011

Похоже, что Fancybox был проблемой.Я переключился на colorbox и, используя jQuery Cookie, он отлично работает на странице, где у меня была проблема, но он создал другую проблему на другой странице, которая немного отличается.

Вот код, который работал:

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});
}
});
0 голосов
/ 13 ноября 2011

Вы можете попробовать этот код? Это работает лучше?

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

...