我正在尝试在点击事件上设置Cookie,以查看用户是否实际点击了相应的按钮。按钮如下:
<a href="#/" class="button" id="modalBTN">Click here</a>
我设置cookie的js是:
function setCookie(cname, cvalue, exdays){
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires =" + d.toGMTString();
document.cookie = cname +"="+ cvalue + ";" + expires;
}
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 "";
}
然后,我在点击事件上设置了cookie:
$("#modalBTN").click(function(){
var clicked = "clicked";
setCookie("clicked", clicked, 30);
console.log(clicked);
});
我的点击事件有效。当我在console.log(点击)时,我看到了cookie值,但是当我刷新页面时,cookie就不再存在了。
我通过以下方式检查:
if(getCookie("clicked") != ""){
//do something else
}
更新
当我打电话给getCookie(“otherCookie”)时,它有效。但是当我调用getCookie(“clicked”)时,我返回null。我一次只允许一个人吗?
答案 0 :(得分:0)
试试这个:https://stackoverflow.com/a/24103596/5445351
您只能使用控制台来测试这两个功能:createCookie&amp; readCookie
做:
createCookie('ppkcookie','testcookie',7);
打开另一页,检查它是否仍然存在:
var x = readCookie('ppkcookie')
if (x) {
console.log("ok");
}
查看您的浏览器是否自动删除Cookie。 我试过Chrome和IE9。