2015-05-22 90 views
1

我嘗試使用調試器的控制檯來設置瀏覽器cookie中(這裏鉻ver.41.xxx):Cookie的到期財產不能檢查

> document.cookie = 'cookie1=hans; expires=Fri, 03 May 2020 11:00:00 GMT;' 

然後,我檢查.cookie屬性:

> document.cookie 
> "cookie1=Hans" 

出人意料的是,沒有expires款!菲德勒還報告了同樣的當我刷新頁面:

enter image description here

這些都足以讓我相信,到期屬性未設置。 但是,我得到更多的驚訝,當我看到使用EditThisCookie擴展

enter image description here

我試圖設置在我的代碼使用JavaScript的餅乾和完全相同的結果Cookie過期!

問題:如何確保cookie的expires屬性已設置?

回答

2

當從cookie中讀取時,您將僅爲提供對於當前主機,路徑,安全設置和時間有效的cookie的值的。沒有使用特殊的瀏覽器插件或瀏覽文件系統(兩者都不能從您自己的代碼中完成),因此無法獲取關於cookie的此信息。如果它在那裏,它沒有過期。這就是cookie「API」寫入的方式。

迴應「如何確保cookie的expires屬性已設置?」 - 如果您通過設置,它將被設置。然而,使用cookie library來改進瀏覽器的API可以幫助您使用較少繁瑣的字符串操作來設置所有設置。

+0

輝煌。謝謝。但是像EditThisCookie這樣的插件如何報告失效? – Hans

+1

它在瀏覽器內腳本參數之外運行。我不知道機制,因爲我沒有看過那段軟件中的代碼,但我想它是使用文件系統來訪問cookie數據,就像瀏覽器在確定哪些cookie有效時所用的一樣。 – JAAulde