2014-01-19 37 views
0

有沒有像sessionStorage一樣在indexedDB上存儲臨時數據的方法:不可用於同一個域的其他會話(選項卡),並在會話關閉時過期(影響某些項目在storeObject或整個storeObject上)?在當前會話的indexedDB上存儲臨時數據

我可以使用隨機名創建storeObject,並在用戶退出頁面時添加卸載事件偵聽器以刪除此storeObject。但問題在於,即使用戶只是在同一個域上更改頁面或刷新頁面...,(同一會話),storeObject也會被刪除。

我知道有一些基於document.cookie API的sessionStorage-like存儲的實現,這對我的情況來說不是一個完美的解決方案。

回答

1

我不確定是否有辦法做你想做的事情。我相信,indexDB是持久的,直到被刪除。您可以根據時間戳進行刪除,這隻能在用戶返回或註銷按鈕後發生。

這可能會幫助你可以對用戶的localStorage如果你不存儲到多的數據: http://www.sitepoint.com/an-overview-of-the-web-storage-api/

如果你擔心併發數據優先可以實現鎖: http://balpha.de/2012/03/javascript-concurrency-and-locking-the-html5-localstorage/#comments

+0

你是正確的, IndexedDB數據持續存在,直到用戶清除脫機緩存(或者應用程序將其刪除) –