sessions.setTabValue()

将键值对存储到与给定选项卡关联。您可以随后使用 sessions.getTabValue 检索此值。

请注意,此数据仅对设置它的扩展可见,而对任何其他扩展不可见。

这是一个异步函数,它返回一个 Promise

语法

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

参数

tabId

整数。您要与其关联数据的选项卡的 ID。如果 ID 无效,则会抛出错误。

key

字符串。稍后您可以使用此键来检索此特定数据值。

value

字符串对象。如果这是一个对象,则会将其 转换为字符串,因此例如对象方法将被省略。如果此处给定一个函数,则它将存储为值 null

返回值

一个 Promise,如果调用成功,则会解析为没有任何参数。如果调用失败(例如,因为找不到选项卡 ID),则 promise 将被拒绝并显示错误消息。

浏览器兼容性

BCD 表格仅在浏览器中加载

示例

当用户选择菜单项时,在活动选项卡上设置值。请注意,您需要“菜单” 权限 才能运行此示例

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

扩展示例