如何正确获取javascript Cookie
How to correctly GET javascript Cookie?
在这个测试站点上,我有一个fancybox灯箱弹出得很好。然后我添加了代码,希望它只在第一次访问时弹出,但之后再也不会弹出。所以我在下面有一些JS,当点击灯箱中的任何一个链接时,它都会运行setCookie()。在加载时,我运行checkCookie()。如果cookie存在,请不要显示灯箱。如果它不存在,请显示灯箱。
有了我的新设置,获取和检查代码,我现在无法让灯箱工作,我很确定这是因为getCookie没有正确地"获取"cookie。有人看到什么明显的错误吗?
function setCookie() {
document.cookie="lightboxcookie=lightboxseen; expires=Thu, 18 Dec 2020 12:00:00 UTC";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var thecookie=getCookie("lightboxcookie");
if (thecookie != "") {
} else {
<!--Show Lightbox-->
jQuery.noConflict()(function ($) {
$(document).ready(function() {
$(".lightbox").fancybox();
$(".lightbox").eq(0).trigger('click');
$(".lightbox").fancybox({
helpers : {
overlay : {
css : {
opacity: 0.8,
'background-color' : '#ff0000'
}
}
}
});
});
});
}
}
}
</script>
在checkCookie
函数的末尾似乎多了一个右大括号。如果删除您的代码似乎按预期工作:http://jsfiddle.net/akk6wx9q/
顺便说一句,如果你打算在客户端使用JavaScript处理Cookie,我建议你看看测试良好且易于使用的Cookie.js库。通过使用它,您可以节省大量时间,也可以省去自己开发cookie处理功能的痛苦;)
相关文章:
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 如何在Javascript中将单选按钮值保存到cookie中
- 未使用Javascript在IE中设置Cookie
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- 正在Javascript Cookie中设置重复密钥
- 如果设置了cookie,则Facebook登录Javascript SDK自动登录
- 更改Javascript cookie重定向
- 如何在Internet Explorer中使用javascript设置cookie
- Javascript:动态更改CSS文件+Cookie
- 用于存储、检索和附加到url的javascript cookie
- 使用cookie(javascript)时,for循环中的If/Elseif语句出现问题
- 传递一个变量's值添加到另一个页面,而不使用cookie(Javascript)
- 使用 cookie javascript 获得时间
- 在cookie javascript中添加和计数对象
- Android HTTP GET cookie / javascript issue?
- Session cookie javaScript
- 无法读取cookie javascript
- 获取变量cookie(javascript)
- 如何设置和读取 cookie JavaScript
- 从cookie javascript中获取特定值