StorageManager: persist() 方法

Baseline 已广泛支持

此功能已成熟,可在多种设备和浏览器版本上使用。自 2021 年 12 月以来,它已在所有浏览器中可用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

StorageManager 接口的 persist() 方法请求使用持久性存储的权限,并返回一个 Promise。如果授予权限且存储桶模式为持久性,则该 Promise 解析为 true,否则解析为 false。浏览器可能会或可能不会遵守该请求,具体取决于浏览器特定的规则。(有关更多详细信息,请参阅存储配额和逐出标准指南。)

注意: 尽管 StorageManager 接口可用,但此方法在 Web Workers 中不可用。

语法

js
persist()

参数

无。

返回值

一个 Promise,解析为 Boolean

异常

TypeError

如果获取本地存储空间失败,则抛出此异常。例如,如果当前来源是不透明来源,或者用户已禁用存储。

示例

js
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.log("Storage may be cleared by the UA under storage pressure.");
    }
  });
}

规范

规范
Storage
# dom-storagemanager-persist

浏览器兼容性