StorageAccessHandle

StorageAccessHandle 接口表示通过调用 Document.requestStorageAccess() 授予的 未分区状态 的访问权限。

实例属性

StorageAccessHandle.sessionStorage 只读

如果授予访问权限,则返回一个未分区的会话 Storage 对象。

StorageAccessHandle.localStorage 只读

如果授予访问权限,则返回一个未分区的本地 Storage 对象。

StorageAccessHandle.indexedDB 只读

如果授予访问权限,则返回一个未分区的 IDBFactory 对象。

StorageAccessHandle.locks 只读

如果授予访问权限,则返回一个未分区的 LockManager 对象。

StorageAccessHandle.caches 只读

如果授予访问权限,则返回一个未分区的 CacheStorage 对象。

实例方法

StorageAccessHandle.getDirectory()

返回一个 Promise,如果授予访问权限,则该 Promise 将以一个未分区的 FileSystemDirectoryHandle 对象作为结果完成,否则将被拒绝。

StorageAccessHandle.estimate()

返回一个 Promise,如果授予访问权限,则该 Promise 将以一个未分区的 StorageEstimate 对象作为结果完成,否则将被拒绝。

StorageAccessHandle.createObjectURL()

如果授予访问权限,则返回表示创建的未分区 Blob 存储 URL 的字符串,否则抛出错误。

StorageAccessHandle.revokeObjectURL()

如果授予访问权限,则撤销传入的未分区 Blob 存储 URL,否则抛出错误。

StorageAccessHandle.BroadcastChannel()

如果授予访问权限,则返回创建的未分区 BroadcastChannel,否则抛出错误。

StorageAccessHandle.SharedWorker()

如果授予访问权限,则返回创建的未分区 SharedWorker,否则抛出错误。

示例

js
document.requestStorageAccess({ localStorage: true }).then(
  (handle) => {
    console.log("localStorage access granted");
    handle.localStorage.setItem("foo", "bar");
  },
  () => {
    console.log("localStorage access denied");
  },
);

注意:有关更完整的示例,请参阅 使用存储访问 API

规范

规范
将存储访问 API (SAA) 扩展到非 Cookie 存储
# storageaccesshandle

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅