Retrieves a value previously stored by a call to
sessions.setTabValue
.
You can retrieve a value from a tab even over a close/restore cycle: meaning that if you set a value, then the user closes the tab, then restores the tab using the browser's "restore tab" feature (for example, by pressing Control+Shift+T), then you will be able to retrieve the value from the restored tab. Note, though, that a restored tab does not get the same ID as the original, so the ID you pass into
getTabValue()
will be different from the ID you passed into
setTabValue()
, even though they both refer to the same tab.
This is an asynchronous function that returns a
Promise
.
var retrieving = browser.sessions.getTabValue(
tabId
,
// integer
key
// string
)
tabId
integer
. ID of the tab whose data you are trying to retrieve. Error is thrown if ID is invalid.
key
string
. Key identifying the particular value to retrieve. This needs to match the key previously given in
sessions.setTabValue
.
A
Promise
that will be resolved with the value if it exists, or
undefined
if it does not exist. If the call failed (for example, because the tab ID could not be found) then the promise will be rejected with an error message.
BCD tables only load in the browser
Log the value of "my-key" for all newly created tabs (this will include any tabs that have been restored):
function onGetResolved(r) {
console.log(`success: ${r}`);
}
function onGetRejected(e) {
console.log(`error: ${e}`);
}
browser.tabs.onCreated.addListener((tab) => {
browser.sessions.getTabValue(tab.id, "my-key").then(onGetResolved, onGetRejected);
});
最后修改: , 由 MDN 贡献者