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。