我读到IndexdDB几篇文章,但找不到任何关于保留的数据的生命周期细节。 我打算将它用于数据处理的会话和上传一旦用户完成。 但是,会发生什么,如果:
- 用户关闭浏览器选项卡
- 用户关闭浏览器
- 用户在系统重新启动
另外,我通过维持基于cookie身份验证的用户会话。 如果用户注销时会发生,然后再次登录怎么办? 有没有一种方法来检索注销之前的数据?
在此处理任何文件表示赞赏。 我通过脱脂规范 ,但它并不好读。
谢谢。
我读到IndexdDB几篇文章,但找不到任何关于保留的数据的生命周期细节。 我打算将它用于数据处理的会话和上传一旦用户完成。 但是,会发生什么,如果:
另外,我通过维持基于cookie身份验证的用户会话。 如果用户注销时会发生,然后再次登录怎么办? 有没有一种方法来检索注销之前的数据?
在此处理任何文件表示赞赏。 我通过脱脂规范 ,但它并不好读。
谢谢。
IndexedDB的数据属于一个类型的临时 。 因此,这些数据可以随时被消灭。
这些数据大小/寿命是由很新的管理配额管理API 。
在未来,IndexedDB的可能可能使用的持久性类型(不太可能,而不是好主意太)。
这就像localStorage
,所以它是跨会话,这意味着重新启动浏览器或系统不会影响什么是存储在它。 然而,用户可以清除它像清理饼干。 所以,这就像永久的cookie,你不从服务器端信任它,你总是需要检查其完整性。
永久存储自从V55 V52和Firefox已经在Chrome中可用。 在其他浏览器的支持无法虽然依赖。 如果永久存储可用并作出相应的反应,必须先测试。
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()
如果有以下为真:
这份名单来自于一个文章,概述Chrome的实现这与有关此主题的新的信息定期更新。