Spec-Zone.ru › Web Extensions

windows.getAll()

Получает информацию обо всех открытых окнах, передавая её в обратный вызов.

Это асинхронная функция, которая возвращает Promise.

Синтаксис

let gettingAll = browser.windows.getAll(
  getInfo                // optional object
)

Параметры

getInfo Необязательно

object. Это управляет тем, какие объекты windows.Window извлекаются.

populate Необязательно

boolean. По умолчанию false. Если установлено true, каждый объект windows.Window будет иметь свойство tabs, содержащее список объектов tabs.Tab, представляющих вкладки в этом окне. Объекты Tab будут содержать свойства url, title и favIconUrl только в том случае, если файл манифеста расширения включает разрешение "tabs" или разрешения разрешений на доступ к хосту, соответствующие URL вкладки.

windowTypes Необязательно

Массив объектов windows.WindowType. Если он задан, объекты windows.Window, возвращаемые функцией, будут отфильтрованы по их типу. Если не задан, используется фильтр по умолчанию ['normal', 'panel', 'popup'], при этом типы окон 'panel' ограничены собственными окнами расширения.

Возвращаемое значение

A Promise, который будет выполнен с массивом объектов windows.Window, представляющих все окна, соответствующие заданным критериям. При возникновении любой ошибки промис будет отклонен с сообщением об ошибке.

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
getAll Да 14 45 ? Да 14 ? ? Нет ? 15 ?
populate Да 79 45 ? Да 14 ? ? Нет ? 15 ?
windowTypes 46 14 58 ? 33 14 ? ? Нет ? Нет ?

Примеры

Выведите URL вкладок во всех обычных окнах браузера. Обратите внимание, что для доступа к URL вкладок необходимо разрешение «вкладки» permission или соответствующие разрешения на доступ к хосту.

function logTabsForWindows(windowInfoArray) {
  for (const windowInfo of windowInfoArray) {
    console.log(`Window: ${windowInfo.id}`);
    console.log(windowInfo.tabs.map((tab) => tab.url));
  }
}

function onError(error) {
  console.error(`Error: ${error}`);
}

browser.browserAction.onClicked.addListener((tab) => {
  browser.windows
    .getAll({
      populate: true,
      windowTypes: ["normal"],
    })
    .then(logTabsForWindows, onError);
});

Примеры расширений

  • private-browsing-theme
  • window-manipulator

Примечание: Этот API основан на API chrome.windows Chromium. Данная документация взята из windows.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/windows/getAll

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API