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
)
Parameters
-
sessionId
-
string
. A string containing the session ID for the window or tab to restore. This can be found in the sessionId
property of the Tab
or Window
object in the Session
returned from sessions.getRecentlyClosed()
.
Return value
A Promise
. This will be fulfilled with a Session
object representing the session that was restored.
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
restore |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
No |
? |
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);
});
Known issues
Bug 1538119 - Duplicate sessionId in browser.sessions.getRecentlyClosed() after "Restore previous session"