StorageAccessHandle

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

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

实例属性

StorageAccessHandle.sessionStorage 只读

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

StorageAccessHandle.localStorage 只读

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

StorageAccessHandle.indexedDB 只读

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

StorageAccessHandle.locks 只读

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

StorageAccessHandle.caches 只读

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

实例方法

StorageAccessHandle.getDirectory()

如果授予了访问权限,则返回一个解析为未分区的 FileSystemDirectoryHandle 对象的 Promise,否则拒绝。

StorageAccessHandle.estimate()

如果授予了访问权限,则返回一个解析为未分区的 StorageEstimate 对象的 Promise,否则拒绝。

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");
  },
);

注意:有关更完整的示例,请参阅使用 Storage Access API

规范

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

浏览器兼容性

另见