我知道這個問題已經被問了上千次,但沒有一個答案真的給了我要找的東西。我使用jQuery cookie來存儲一些信息,但我希望它們在瀏覽器關閉時過期。 window.unload
是不是一個可行的選擇(閱讀:不工作。)jQuery cookies可能會像會話變量一樣過期嗎?
我的問題是:是實際上可能有設置在瀏覽器關閉,如會話過期餅乾?如果是這樣,有誰知道如何?
更新:原來,它很簡單,而不是通過屆滿:0(沒有工作),只是不通過任何屆滿。那麼這就解釋了爲什麼沒有太多問題。
謝謝大家。
我知道這個問題已經被問了上千次,但沒有一個答案真的給了我要找的東西。我使用jQuery cookie來存儲一些信息,但我希望它們在瀏覽器關閉時過期。 window.unload
是不是一個可行的選擇(閱讀:不工作。)jQuery cookies可能會像會話變量一樣過期嗎?
我的問題是:是實際上可能有設置在瀏覽器關閉,如會話過期餅乾?如果是這樣,有誰知道如何?
更新:原來,它很簡單,而不是通過屆滿:0(沒有工作),只是不通過任何屆滿。那麼這就解釋了爲什麼沒有太多問題。
謝謝大家。
原來這是相當簡單的,而不是傳遞屆滿:0(沒有工作),只是不沒有任何失效。那麼這就解釋了爲什麼沒有太多問題。
因此,而不是用像這樣的標誌期滿合格:
$.cookie(key, value, { expiry: 0, domain: '', path: '' });
你只是省略到期值:
$.cookie(key, value, { domain: '', path: '' });
和它的作品。這是如此簡單的事情,它讓我困惑。
但是,無論如何,謝謝!
它可能在RFC 2965 specification。也就是說,如果您在您的Cookie處理代碼和中設置了「丟棄」屬性(如果瀏覽器支持該屬性),則可以這樣做。
這就是說:jQuery cookie不支持Discard-property。你將不得不延長像這樣的jQuery-Cookie代碼(這是關於在原始文件第57行):
return (document.cookie = [
config.raw ? key : encodeURIComponent(key),
'=',
config.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.discard ? '; Discard=' + options.discard : '',
options.secure ? '; secure' : ''
].join(''));
如果使用默認的設置是這樣
$.cookie.defaults = { path: '/', expires: 365 };
,那麼你需要使用以下屬性爲每個cookie值
$.cookie(key, value, { expires: null });
HTTP必須發送到期日期。如果它發送正確的日期,請檢查RFC和實現。 (必須在過去。) – schlingel