sessions.onChanged
每當關閉的標籤頁或視窗列表發生更改時觸發。
語法
js
browser.sessions.onChanged.addListener(listener)
browser.sessions.onChanged.removeListener(listener)
browser.sessions.onChanged.hasListener(listener)
事件有三個函式
addListener(listener)-
向此事件新增監聽器。
removeListener(listener)-
停止監聽此事件。
listener引數是要移除的監聽器。 hasListener(listener)-
檢查
listener是否已為此事件註冊。如果正在監聽,則返回true,否則返回false。
addListener 語法
引數
監聽器-
當此事件發生時呼叫的函式。它不接收任何引數。
示例
這個非常煩人的擴充套件程式會監聽 onChanged 事件,然後立即恢復最近關閉的會話,從而導致無法關閉視窗或標籤頁。
js
function restoreSession(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);
}
function restoreMostRecent() {
let gettingSessions = browser.sessions.getRecentlyClosed({
maxResults: 1,
});
gettingSessions.then(restoreSession, onError);
}
browser.sessions.onChanged.addListener(restoreMostRecent);
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.sessions API。