我有这个客户端JavaScript设置cookie真正奇怪的问题。目前我正在开发一个小小的1页演示,以使用cookie来存储一些“偏好”。请注意,我不能在本演示或任何第三方jQuery插件中使用服务器端语言。Javascript document.cookie总是空字符串
所以我写了一个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控制台如何设置通过客户端的JavaScript一个cookie,看看我是否可以通过直接修改document.cookie
> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
办呢?
编辑:我没有进入隐身模式,cookies已启用。
另请参阅https://developer.mozilla.org/en-US/docs/DOM/document.cookie –
有类似(但不是相同)的问题。我们可以读取和写入cookie,但不是全部。特别是会话cookie(JSESSIONID)不能被读取......看起来这是一个安全功能,但很难找到关于它的信息......任何人都知道这个? –
@StijndeWitt:这是一个不同的问题,请自行提问,而不是增加赏金。顺便说一句,答案可能是['http-only' cookies](http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie) – Bergi