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

瀏覽器相容性

另見