Spec-Zone.ru › Web Extensions

windows.getCurrent()

Получает текущее окно браузера, передавая его данные в обратный вызов.

«Текущее» окно необязательно совпадает с текущим фокусированным окном. Если эта функция вызывается из скрипта фонового процесса, то возвращается текущее фокусированное окно. Но если она вызывается из скрипта, документ которого связан с определённым окном браузера, то возвращается это окно браузера. Например, если браузер отображает боковую панель, то каждое окно браузера имеет свою копию документа боковой панели. Если скрипт, выполняющийся в документе боковой панели, вызывает getCurrent(), то он вернёт окно этого документа боковой панели.

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

Синтаксис

let gettingCurrent = browser.windows.getCurrent(
  getInfo               // optional object
)

Параметры

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

object.

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

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

windowTypes Устаревшее Необязательно

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

Примечание: Если задано, компонент windowTypes объекта getInfo игнорируется. Использование windowTypes устарело начиная с Firefox 62.

Значение возврата

Объект Promise, который будет выполнен с объектом windows.Window, содержащим данные окна. Если произошла какая-либо ошибка, обещание будет отклонено с сообщением об ошибке.

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
getCurrent Да 14 45 ? Да 14 ? ? Нет ? 15 ?
getInfo 18 14 45 ? 15 14 ? ? Нет ? 15 ?

Примеры

Когда пользователь нажимает на значок действия браузера, этот пример получает текущее окно и регистрирует URL вкладок, которые оно содержит. Обратите внимание, что вам потребуется разрешение "tabs" permission или соответствующие host permissions, чтобы получить доступ к URL вкладок.

function logTabs(windowInfo) {
  for (const tabInfo of windowInfo.tabs) {
    console.log(tabInfo.url);
  }
}

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

browser.browserAction.onClicked.addListener((tab) => {
  browser.windows.getCurrent({ populate: true }).then(logTabs, onError);
});

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

  • annotate-page
  • theme-integrated-sidebar
  • 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/getCurrent

Spec-Zone.ru

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