$.cookie()存在,但未被确认
$.cookie() exists but isn't acknowledged.
我正在使用jQuery cookie来确定用户是否希望查看移动站点。
当用户点击链接"查看全站"时,他们被带到主页,url参数为:fullscreen=yes
$.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, it Exists!但很快重定向到移动网站。它不应该这样做。
有谁知道为什么cookie被发现了,然后又被忽略了吗?
也许你需要检查你的实际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/
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 用于检查数组中是否存在元素的javascript自定义方法
- 按钮字段确认点击不'不起作用
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在将事件处理程序添加到不存在的类
- 是否存在React Native“;WEB代码安全防护”;
- 一个密码测试程序,如果存在空格,它会提醒用户
- 验证会话中是否存在对象's数组
- javascript如果图像不存在don't加载它
- 删除确认对话框在第一次单击时不起作用
- 如何查找值是否存在于二叉树中
- IE9的HTML5 Canvas getImageData()函数存在问题
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 事件侦听器更新就绪在加载时未显示确认,而更新实际存在
- 数据在确认框中的显示方式存在问题
- 仅当表单上存在某些条件时.aspx引发 jQuery-UI 确认对话框
- $.cookie()存在,但未被确认