Stores a key/value pair to associate with a given tab. You can subsequently retrieve this value using sessions.getTabValue
.
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
.
Syntax
var storing = browser.sessions.setTabValue( tabId, // integer key, // string value // string or object )
Parameters
tabId
integer
. ID of the tab with which you want to associate the data.key
string
. Key that you can later use to retrieve this particular data value.value
string
orobject
. 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 valuenull
.
Return value
A Promise
that will be resolved with no arguments if the call succeeded. If the call failed (for example, because the tab ID could not be found) then the promise will be rejected with an error message.
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | ||||
---|---|---|---|---|---|
setTabValue | Chrome No support No | Edge No support No | Firefox Full support 57 | Opera No support No | Firefox Android No support No |
Legend
- Full support
- Full support
- No support
- No support
Examples
Set a value on the active tab when the user selects a menu item. Note that you'll need the "menus" permission to run this example:
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);