【问题标题】:store temporary data on indexedDB for current session在 indexedDB 上存储当前会话的临时数据
【发布时间】:2014-02-08 23:14:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript html storage indexeddb sessionstorage


    【解决方案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

    【讨论】:

    • 你是对的,IndexedDB 数据会一直持续到用户清除离线缓存(或应用程序删除它)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多