Сеансы
Используйте API сеансов для перечисления и восстановления вкладок и окон, которые были закрыты во время работы браузера.
Функция sessions.getRecentlyClosed() возвращает массив объектов tabs.Tab и windows.Window, представляющих вкладки и окна, которые были закрыты с момента запуска браузера, до максимального значения, определенного в sessions.MAX_SESSION_RESULTS.
Затем вы можете восстановить окно или вкладку, используя функцию sessions.restore(). Восстановление не просто открывает вкладку: оно также восстанавливает историю навигации вкладки, поэтому кнопки «Назад»/«Вперёд» будут работать.
Этот API также предоставляет группу функций, которые позволяют расширению хранить дополнительное состояние, связанное с вкладкой или окном. Затем, если вкладка или окно закрываются и впоследствии восстанавливаются, расширение может извлечь состояние. Например, расширение для группирования вкладок может использовать это для запоминания, в какой группе находится вкладка, чтобы восстановить её в правильную группу, если пользователь восстановит вкладку.
Для использования API сеансов необходимо разрешение «сеансы» API permission.
Типы
sessions.Filter-
Позволяет ограничить количество объектов
Session, возвращаемых при вызове функцииsessions.getRecentlyClosed(). sessions.Session-
Представляет вкладку или окно, которое пользователь закрыл в текущем сеансе просмотра.
Свойства
sessions.MAX_SESSION_RESULTS-
Максимальное количество сеансов, которые будут возвращены при вызове
sessions.getRecentlyClosed().
Функции
sessions.forgetClosedTab()-
Удаляет закрытую вкладку из списка недавно закрытых вкладок браузера.
sessions.forgetClosedWindow()-
Удаляет закрытое окно из списка недавно закрытых окон браузера.
sessions.getRecentlyClosed()-
Возвращает массив объектов
Session, представляющих окна и вкладки, которые были закрыты в текущем сеансе просмотра (то есть: с момента запуска браузера). sessions.restore()-
Восстанавливает закрытую вкладку или окно.
sessions.setTabValue()-
Хранит пару «ключ/значение», связанную с данной вкладкой.
sessions.getTabValue()-
Извлекает ранее сохранённое значение для данной вкладки по заданному ключу.
sessions.removeTabValue()-
Удаляет пару «ключ/значение» из заданной вкладки.
sessions.setWindowValue()-
Хранит пару «ключ/значение», связанную с данным окном.
sessions.getWindowValue()-
Извлекает ранее сохранённое значение для данного окна по заданному ключу.
sessions.removeWindowValue()-
Удаляет пару «ключ/значение» из данного окна.
События
sessions.onChanged-
Срабатывает при закрытии вкладки или окна.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
Filter |
Да | 79 | 52 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
MAX_SESSION_RESULTS |
Да | 79 | 52 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
Session |
Да | 79 | 52'Tab' объекты в Сеансах не содержат свойств 'url', 'title' или 'favIconUrl'. |
? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
forgetClosedTab |
Нет | Нет | 55 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
forgetClosedWindow |
Нет | Нет | 55 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
getRecentlyClosed |
Да | 79 | 52 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
getTabValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
getWindowValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
onChanged |
Да | 79 | 53 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
removeTabValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
removeWindowValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
restore |
Да | 79 | 52 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
setTabValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
setWindowValue |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
Примеры расширений
Примечание: Этот 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