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);

扩展程序示例

浏览器兼容性