SharedStorage: set() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

SharedStorage 介面的 set() 方法會在當前源的共享儲存中儲存一個新的鍵值對,或者更新一個已有的鍵值對。

語法

js
set(key, value)
set(key, value, options)

引數

key

表示您想要新增或更新的鍵值對中的鍵的字串。

value

表示您想要新增或更新的值的字串。

options 可選

一個包含以下屬性的選項物件

ignoreIfPresent

一個布林值。如果具有指定 key 的鍵值對已存在,則值為 true 會導致 set 操作中止。預設值 false 會導致 set 操作覆蓋之前的值。

返回值

一個 Promise,它將以 undefined 解析。

異常

  • 如果出現以下情況,Promise 會以 TypeError 拒絕:
    • 由於共享儲存不可用(例如,透過瀏覽器設定停用了共享儲存),建立的條目未能成功儲存在資料庫中。
    • key 和/或 value 超出了瀏覽器定義的 maximum length。
    • 呼叫站點未在成功的 隱私沙盒註冊流程中包含共享儲存 API。
  • 對於 WorkletSharedStorage,如果未透過 SharedStorageWorklet.addModule() 新增 worklet 模組,Promise 會以 TypeError 拒絕。

注意:對於 WindowSharedStorage,如果 set() 操作因共享儲存不可用以外的原因未能成功寫入資料庫,則不會丟擲錯誤——該操作仍會以 undefined fulfilled。

示例

js
window.sharedStorage
  .set("ab-testing-group", "0", {
    ignoreIfPresent: true,
  })
  .then(() => console.log("Set operation completed"));

規範

規範
共享儲存 API
# dom-sharedstorage-set

瀏覽器相容性

另見