我有這個客戶端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