sessions.onChanged
Wird ausgelöst, wenn sich die Liste der geschlossenen Tabs oder Fenster ändert.
Syntax
browser.sessions.onChanged.addListener(listener)
browser.sessions.onChanged.removeListener(listener)
browser.sessions.onChanged.hasListener(listener)
Events haben drei Funktionen:
addListener(listener)
-
Fügt diesem Ereignis einen Listener hinzu.
removeListener(listener)
-
Stoppt das Abhören dieses Ereignisses. Das Argument
listener
ist der Listener, der entfernt werden soll. hasListener(listener)
-
Überprüft, ob
listener
für dieses Ereignis registriert ist. Gibttrue
zurück, wenn es zuhört, andernfallsfalse
.
Syntax von addListener
Parameter
listener
-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Es werden keine Parameter übergeben.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Diese sehr nervige Erweiterung hört auf onChanged
und stellt dann sofort die zuletzt geschlossene Sitzung wieder her, wodurch es unmöglich ist, Fenster oder Tabs zu schließen:
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);
Hinweis: Diese API basiert auf der chrome.sessions
API von Chromium.