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,如果调用成功,它将使用没有参数的方式解析。如果调用失败(例如,因为找不到窗口 ID),则该承诺将被拒绝,并带有错误消息。

浏览器兼容性

BCD 表格仅在浏览器中加载

示例

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

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