我正在使用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被发现但被忽略了吗?
答案 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!');
}