首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >持久化寿命

持久化寿命
EN

Stack Overflow用户
提问于 2013-04-05 00:33:17
回答 3查看 14.6K关注 0票数 31

我读了一些关于IndexdDB的文章,但是找不到关于持久化数据生命周期的详细信息。我计划将其用于数据操作会话,并在用户完成后进行上传。但如果出现以下情况,将会发生什么:

  • user close the browser选项卡
  • user close

browser

  • user restarted system

此外,我通过基于cookie的身份验证来维护用户会话。如果用户注销并重新登录,会发生什么情况?有没有办法在注销前检索数据?

任何关于处理这种情况的文档都是值得感谢的。我浏览了一下spec,但它读起来不是很好。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-05 10:45:00

IndexedDB数据属于type of temporary。所以这些数据可以在任何时候被清除。

这些数据大小/生命周期由非常新的Quota Management API管理。

在未来,IndexedDB可能会使用持久型(不太可能也不是一个好主意)。

票数 5
EN

Stack Overflow用户

发布于 2013-04-05 02:43:44

它类似于localStorage,所以它是跨会话的,这意味着重启浏览器或系统不会影响其中存储的内容。但是,用户可以像清除cookie一样清除它。所以它就像持久化cookie一样,你不能从服务器端信任它,而且你总是需要检查它的完整性。

票数 19
EN

Stack Overflow用户

发布于 2019-03-29 01:16:19

从v52开始在Chrome中就可以使用Persistent Storage,从v55开始就可以在Firefox中使用。不过,不能依赖其他浏览器中的支持。您必须测试持久存储是否可用,并做出相应的反应。

代码语言:javascript
复制
if (navigator.storage && navigator.storage.persist) {
  navigator.storage.persist().then(persistent => {
    if (persistent) {
      console.log("Storage will not be cleared except by explicit user action");
    } else {
      console.warn("Storage may be cleared by the UA under storage pressure.");
    }
  });
}

Chrome需要权限才能使用此功能。如果满足以下任一条件,则在调用navigator.storage.persist()时自动授予权限:

  • 站点已添加书签(并且用户有5个或更少的书签)
  • 站点具有高站点参与度
  • 站点已添加到移动设备上的主屏幕
  • 站点已启用推送通知

此列表来自article outlining Chrome's implementation,它会定期更新有关此主题的新信息。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15816784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档