extension.getViews()
Возвращает массив объектов Window для каждой страницы, выполняющейся внутри текущего расширения. Это включает, например:
- задний фоновый процесс, если он определен
- любые всплывающие страницы, если они определены и загружены
- любые страницы настроек, если они определены и загружены
- любые вкладки браузера, содержащие содержимое, упакованное с расширением
В Firefox, если этот метод вызывается со страницы, которая является частью окна приватного просмотра, например, боковой панели в приватном окне или всплывающего окна, открытого из приватного окна, то возвращаемое значение не будет включать фоновый процесс расширения.
Синтаксис
let windows = browser.extension.getViews( fetchProperties // optional object )
Параметры
-
fetchPropertiesНеобязательно -
Объект со следующими свойствами:
-
typeНеобязательно -
string.extension.ViewTypeуказывающий тип представления для получения. Если опущено, эта функция возвращает все представления. -
windowIdНеобязательно -
integer. Окно, к которому ограничить поиск. Если опущено, эта функция возвращает все представления. В версиях Firefox 92 и ниже представления боковых панелей не подходят и, следовательно, не возвращаются.
-
Возвращаемое значение
array object. Массив объектов Window.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
getViews |
Да | 14 | 45Если этот метод вызывается со страницы, являющейся частью окна приватного просмотра, например, боковой панели в приватном окне или всплывающего окна, открытого из приватного окна, то возвращаемое значение не будет включать фоновый процесс расширения. |
? | Да | 14 | ? | ? | 48Если этот метод вызывается со страницы, являющейся частью окна приватного просмотра, например, боковой панели в приватном окне или всплывающего окна, открытого из приватного окна, то возвращаемое значение не будет включать фоновый процесс расширения. |
? | 15 | ? |
windowId |
Да | 14 | 45С Firefox 93 представления боковых панелей теперь подходят. |
? | Да | 14Фильтрация поwindowId не будет работать, когда вкладка перемещается из одного окна в другое. |
? | ? | 48Свойство распознаётся, но фильтр не оказывает никакого влияния. |
? | 15Фильтрация поwindowId не будет работать, когда вкладка перемещается из одного окна в другое. |
? |
Примеры
Получить все окна, принадлежащие этому расширению, и вывести их URL:
const windows = browser.extension.getViews(); for (const extensionWindow of windows) { console.log(extensionWindow.location.href); }
Получить только окна во вкладках браузера, содержащие содержимое, упакованное с расширением:
const windows = browser.extension.getViews({ type: "tab" });
Получить только окна во всплывающих окнах:
const windows = browser.extension.getViews({ type: "popup" });
Примечание: Этот API основан на API chrome.extension Chromium. Данная документация взята из extension.json кода 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/extension/getViews