sessions.getRecentlyClosed()
返回一个 Session 对象的数组,表示当前浏览会话中(即自浏览器启动以来的时间)关闭的窗口和标签页。
这是一个异步函数,返回一个 Promise。
语法
js
let gettingSessions = browser.sessions.getRecentlyClosed(
filter // optional object
)
参数
filter可选-
object。一个sessions.Filter对象,用于限制返回的会话集。
返回值
一个 Promise。它将以一个 Session 对象数组的形式得到满足,每个对象代表当前浏览会话中最近关闭的标签页或窗口,最多不超过 sessions.MAX_SESSION_RESULTS 或 filter 参数中包含的数量,以较小者为准。该数组的顺序与标签页或窗口关闭的顺序相反,因此最近关闭的将在索引 0 处。
如果发生错误,Promise 将被拒绝并附带错误消息。
示例
此代码会恢复最近关闭的单个会话,无论是标签页还是窗口
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。