sessions.restore()
Restores a closed tab or window. Restoring doesn't just reopen the tab or window: it also restores the tab's navigation history so the back/forward buttons will work. Restoring a window will restore all the tabs that the window contained when it was closed.
This is an asynchronous function that returns a Promise
.
Syntax
let restoringSession = browser.sessions.restore(
sessionId // string
)
Parameters
sessionId
-
string
. A string containing the session ID for the window or tab to restore. This can be found in thesessionId
property of theTab
orWindow
object in theSession
returned fromsessions.getRecentlyClosed()
.
Return value
Browser compatibility
BCD tables only load in the browser
Examples
This restores the single most recently-closed session, whether it's a window or tab:
function restoreMostRecent(sessionInfos) {
if (!sessionInfos.length) {
console.log("No sessions found");
return;
}
let sessionInfo = sessionInfos[0];
if (sessionInfo.tab) {
browser.sessions.restore(sessionInfo.tab.sessionId);
} else {
browser.sessions.restore(sessionInfo.window.sessionId);
}
}
function onError(error) {
console.log(error);
}
browser.browserAction.onClicked.addListener(() => {
let gettingSessions = browser.sessions.getRecentlyClosed({
maxResults: 1,
});
gettingSessions.then(restoreMostRecent, onError);
});
Note:
This API is based on Chromium's chrome.sessions
API.
Known issues
Bug 1538119 - Duplicate sessionId in browser.sessions.getRecentlyClosed() after "Restore previous session"