在indexedDB上存储当前会话的临时数据

时间:2014-01-19 21:29:03

标签: javascript html5 storage indexeddb sessionstorage

有没有办法以与sessionStorage相同的方式在indexedDB上存储临时数据:不可用于同一域的其他会话(选项卡),并在会话关闭时过期(影响storeObject或整个storeObject上的某些项) ?

我可以使用随机名称创建storeObject,并在用户退出页面时添加卸载事件侦听器以删除此storeObject。但问题是即使用户只是在同一个域上从一个页面更改为另一个页面或刷新页面,也会删除storeObject,...(同一个会话)。

我知道有一些基于document.cookie API的类似sessionStorage的存储的实现,这对我的情况来说不是一个完美的解决方案。

1 个答案:

答案 0 :(得分: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