Javascript document.cookie总是空字符串 [英] Javascript document.cookie always empty string
问题描述
我有这个真正奇怪的问题,客户端JavaScript设置Cookie。我正在开发一个小的1页面演示,使用cookie来存储一些偏好。请注意,我无法使用服务器端语言进行此演示或任何第三方jQuery插件。
所以我写了一个javascript对象来设置cookie:
var cookie = {
set:function(name,value,exdays){
var exdate = new Date();
exdate.setDate(exdate.getDate()+ exdays);
var value = escape(value)+((exdays == null)?:; expires =+ exdate.toUTCString());
document.cookie = name +=+ value;
console.log(document.cookie);
}
}
cookie.set('foo','bar',2);
console.log(document.cookie);
它只是返回一个空字符串。我已经进入Chrome控制台,看看是否可以通过直接修改 document.cookie
> document.cookie =foo = bar;
foo = bar
> document.cookie
如何通过客户端javascript设置cookie? / p>
编辑:我目前未处于无痕模式,而且已启用Cookie。
如果不在网络服务器中运行,则不能通过外观来设置Cookie。
file:/// C:/Users/me/Desktop/demo/demo.html
但是:
http://localhost/demo/demo.html
起作用。
I have this real strange problem with client side javascript setting cookies. I'm developing a little 1 page demo at the moment to use cookies to store some 'preferences'. Please note that I can't use a server side language for this demo or any 3rd party jQuery plugins.
So I've written a javascript object to set a cookie:
var cookie = {
set: function (name,value,exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=name + "=" + value;
console.log(document.cookie);
}
}
cookie.set('foo','bar',2);
console.log(document.cookie);
It just returns an empty string. I've gone into Chrome console to see if I can do it via directly modifying document.cookie
> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
How do you set a cookie via client side javascript?
Edit: I am not in incognito mode and cookies are enabled.
You can't set cookies by the look of things if its not running in a web server.
file:///C:/Users/me/Desktop/demo/demo.html
however:
http://localhost/demo/demo.html
works.
这篇关于Javascript document.cookie总是空字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!