$ .cookie()存在但未得到承认。

时间:2014-05-06 11:26:59

标签: javascript jquery cookies

我正在使用jQuery Cookie来确定用户是否希望查看移动网站。

当用户点击“查看完整网站”链接时,他们会被带到主页,网址参数为:全屏=是

$.extend({
   getUrlVars: function(){
      var vars = [], hash;
      var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

     for(var i = 0; i < hashes.length; i++)
      {
         hash = hashes[i].split('=');
         vars.push(hash[0]);
         vars[hash[0]] = hash[1];
     }

     return vars;
   },

   getUrlVar: function(name){
   }
});

如果设置了该参数,则会创建cookie:

if ($.getUrlVar("fullscreen") != null) {
    console.log('creating cookie')
    var CookieSet = $.cookie('fullscreen', 'yesset', {path: '/'});
}

我还有一个快速测试,看看cookie是否存在:

if (CookieSet == null) {
   console.log('Cookie Does Not Exist');

   // redirect stuff here

} else {

   // Do not redirect 
   console.log('Get In, it Exists!');
}

所以,如果url参数存在,那么我将被带到主页,该主页不会重定向到移动网站(是的,我知道这是一种可怕的方式,应该是响应 - 但客户想要它像那样:(!)和console.log打印出来:

 Get In, it Exists!

哪个好。现在这是问题所在,当我点击页面上的另一个链接时。控制台日志简要打印出来:Get In,它存在!但随后迅速重定向到移动网站。它不应该做什么。

有人能看出为什么cookie被发现但被忽​​略了吗?

1 个答案:

答案 0 :(得分:0)

也许你需要检查你的实际cookie,而不仅仅是CookieSet是否存在(== null)?

if (($.cookie('fullscreen')!=null) {
   console.log('Cookie Does Not Exist');

   // redirect stuff here

} else {

   // Do not redirect 
   console.log('Get In, it Exists!');
}

或许请看一下:http://www.electrictoolbox.com/jquery-cookies/