sessions.getRecentlyClosed()
语法
js
let gettingSessions = browser.sessions.getRecentlyClosed(
filter // optional object
)
参数
filter
可选-
object
。一个sessions.Filter
对象,用于限制返回的会话集。
返回值
一个 Promise
。这将用一个 Session
对象数组来完成,每个数组代表当前浏览会话中最最近关闭的选项卡或窗口,最多 sessions.MAX_SESSION_RESULTS
个或filter
参数中包含的数字,以较小的为准。该数组按照选项卡或窗口关闭的逆序给出,因此最近关闭的将位于索引 0。
如果发生错误,则承诺将使用错误消息被拒绝。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
示例
此代码恢复最近关闭的单个会话,无论是选项卡还是窗口
js
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);
});
注意:此 API 基于 Chromium 的 chrome.sessions
API。