2012-07-16 42 views
2

是否有任何方法(使用JavaScript)如何在瀏覽器關閉之前存儲會話?我想使用會話cookie - 當到期未設置時,cookie在瀏覽器關閉時應該過期。但出於任何實際目的,這是不可用的,因爲Firefox與顯示我的窗口和標籤從上次選項不會清除會話cookie即使瀏覽器關閉後。在瀏覽器關閉之前存儲數據的方法

我也不能使用onunload的onbeforeunload因爲我需要記住數據,直到關閉瀏覽器即使在用戶重新加載或轉到其他頁面,然後回來。

+0

如果瀏覽器未關閉會話,則無法對此進行任何操作。 – Bergi 2012-07-16 14:18:11

+0

與我作爲用戶會話不會過期。 – GottZ 2012-07-16 14:25:16

+0

不幸的是,這裏問題的癥結在於Firefox處理會話cookie。這就是說,除非*顯示我的窗口和標籤*是Firefox的默認選項這些天,也許你應該考慮一個邊緣案例?當然,最終取決於你的最終用戶是誰。 – JoshMock 2012-07-16 21:59:27

回答

1

您可能感興趣sessionStoragelocalStorage不爲人知的表弟。它應該完成你所需要的 - 在會話中存儲變量並在會話結束時清除它們。

+1

這是很有價值的信息,但我不得不懷疑瀏覽器是否以session處理cookie的方式來管理sessionStorage對象的生命週期,這會導致OP試圖解決的相同問題。 – Pointy 2012-07-16 14:48:12

+0

@Pointy:「只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存活,頁面會話就會持續。在新的選項卡或窗口中打開頁面將導致啓動新的會話。」這看起來像OP應該罰款'sessionStorage'。雖然我不能肯定地說。 – 2012-07-16 14:59:40

+0

我同意它*應該*可以工作,但是(例如)Firefox對於「瀏覽器會話」意味着什麼非常鬆散,什麼能夠在崩潰後恢復。 – Pointy 2012-07-16 15:02:31

相關問題