2012-12-02 19 views
4

我使用本地存儲來存儲一些數據:用戶讓ajax請求獲取信息,並將結果存儲在存儲器中,以便下次他請求相同的信息時,我首先查看在存儲中查看它是否存在。窗口卸載事件的本地存儲

現在我意識到將數據保存在內存中的對象並在需要時循環,而不是循環遍歷本地存儲會更高效。因此,當我將一些數據從本地存儲移動到內存中的對象時,我想知道window.unload事件是否可以用可靠的用於將該緩存對象的內容寫入磁盤上的本地存儲,然後使用onload事件檢索它?

謝謝。

+1

不,即使它經常工作也不可靠。但是,在localStorage中寫入速度很快,你不能簡單地在localStorage中每次更改時轉儲對象(但只在頁面加載時加載它)? –

+0

@dystroy:你能告訴我如何做到這一點?這意味着我需要能夠傾聽對象的變化;我該如何編碼? – frenchie

回答

1

window.unload可能不會在多種情況下被調用,例如,如果用戶關閉標籤或瀏覽器崩潰。爲什麼不定期將數據保存到localStorage,作爲預防措施?

+0

並非所有瀏覽器都支持window.unload。 – Biketire

+0

^是的,我記得有一段時間移動Safari的問題。 –

+0

那麼定期保存數據的問題是,如果頁面上的數據發生更改,則還必須同步存儲中的數據。這實際上是我決定從存儲中刪除緩存的原因。 – frenchie