sessions.setTabValue()

將鍵/值對儲存起來,以與給定的標籤頁關聯。之後您可以使用 sessions.getTabValue 來檢索此值。

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

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

語法

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

引數

tabId

integer。您希望將資料與之關聯的標籤頁的 ID。如果 ID 無效,將丟擲錯誤。

key

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

value

stringobject。如果為物件,它會被 字串化,因此物件方法(例如)將被省略。如果此處給出的是函式,它將被儲存為值 null

返回值

一個 Promise,如果呼叫成功,它將以無引數的形式解析。如果呼叫失敗(例如,因為找不到標籤頁 ID),則 Promise 將以錯誤訊息拒絕。

示例

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

js
async function setOnActiveTab() {
  let tabArray = await browser.tabs.query({
    currentWindow: true,
    active: true,
  });
  let tabId = tabArray[0].id;
  await browser.sessions.setTabValue(tabId, "my-key", "my-value");
}

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

browser.menus.onClicked.addListener(setOnActiveTab);

擴充套件程式示例

瀏覽器相容性