sessions.onChanged
Вызывается всякий раз, когда изменяется список закрытых вкладок или окон.
Синтаксис
browser.sessions.onChanged.addListener(listener) browser.sessions.onChanged.removeListener(listener) browser.sessions.onChanged.hasListener(listener)
События имеют три функции:
addListener(callback)-
Добавляет обработчик к этому событию.
removeListener(listener)-
Прекращает прослушивание этого события. Аргумент
listener— это обработчик, который нужно удалить. hasListener(listener)-
Проверяет, зарегистрирован ли
listenerдля этого события. Возвращаетtrue, если он прослушивает, иfalse, в противном случае.
Синтаксис addListener
Параметры
callback-
Функция, которая будет вызываться при возникновении этого события. Она не получает никаких параметров.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
onChanged |
Да | 79 | 53 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
Примеры
Этот очень надоедливый расширение прослушивает onChanged, а затем немедленно восстанавливает последнюю закрытую сессию, что делает невозможным закрытие окон или вкладок:
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 основан на API chrome.sessions Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/sessions/onChanged