Stores a key/value pair to associate with a given window. You can subsequently retrieve this value using
sessions.getWindowValue
.
Note that this data will only be visible to the extension that set it, and not to any other extensions.
This is an asynchronous function that returns a
Promise
.
var storing = browser.sessions.setWindowValue(
windowId
,
// integer
key
,
// string
值
// string or object
)
windowId
integer
. ID of the window with which you want to associate the data. Error is thrown if ID is invalid.
key
string
. Key that you can later use to retrieve this particular data value.
value
string
or
对象
. If this is an object it is
stringified
, so object methods, for example, will be omitted. If a function is given here it will be stored as the value
null
.
A
Promise
that will be resolved with no arguments if the call succeeded. If the call failed (for example, because the window ID could not be found) then the promise will be rejected with an error message.
BCD tables only load in the browser
Set a value on the active window when the user selects a menu item. Note that you'll need the "menus" permission to run this example:
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);
最后修改: , 由 MDN 贡献者