sessions.setWindowValue()

將鍵/值對儲存起來,並將其與指定的視窗關聯。之後,您可以使用 sessions.getWindowValue 檢索此值。

請注意,此資料僅對設定它的擴充套件可見,對任何其他擴充套件都不可見。

這是一個非同步函式,返回一個 Promise

語法

js
let storing = browser.sessions.setWindowValue(
  windowId,    // integer
  key,         // string
  value        // string or object
)

引數

windowId

integer。您希望將資料關聯到的視窗的 ID。如果 ID 無效,則會丟擲錯誤。

key

string。您稍後可用於檢索此特定資料值的鍵。

value

stringobject。如果為物件,則會對其進行 字串化,因此例如物件方法將被省略。如果此處提供了函式,它將儲存為值 null

返回值

一個 Promise,如果呼叫成功,它將以 no arguments 解析。如果呼叫失敗(例如,因為找不到視窗 ID),則 Promise 將以錯誤訊息被拒絕。

示例

當用戶選擇選單項時,在活動視窗上設定一個值。請注意,您需要 "menus" 許可權 才能執行此示例

js
async function setOnActiveWindow() {
  let currentWindow = await browser.windows.getLastFocused();
  await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
}

browser.menus.create({
  id: "my-item",
  title: "my item",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(setOnActiveWindow);

瀏覽器相容性