如何使Web应用程序的数据“持久”而不是“尽力而为”?我想避免没有足够空间时清除数据

时间:2018-08-12 10:47:10

标签: javascript indexeddb

根据https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/persist,可以将框标记为“永久”,如下所示:

if (navigator.storage && navigator.storage.persist)
  navigator.storage.persist().then(function(persistent) {
    if (persistent)
      console.log("Storage will not be cleared except by explicit user action");
    else
      console.log("Storage may be cleared by the UA under storage pressure.");
  });

根据https://developer.mozilla.org/en-US/docs/Web/API/Storage_API

”“如果将框标记为“永久”,则没有数据源本身或用户未专门执行操作的情况下,用户代理将不会清除内容。这包括诸如用户选择“清除缓存”或“清除最近的历史记录”选项。将特别要求用户授予删除永久站点存储单元的权限。

但是,清除Chrome和Firefox中的最近历史记录会删除数据,而无需征得我的许可。我想念什么?

1 个答案:

答案 0 :(得分:2)

清除Chrome和Firefox中的近期历史记录被视为“明确的用户操作”。即使没有提到“存储”,您也应该获得一个确认对话框。普通用户甚至都不知道什么是“永久存储”。