Перейти к:

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

WebExtension JavaScript API может быть использован в фоновых скриптах дополнения и в любом действии браузера или всплывающем окне действия на странице, которые определены в дополнении. Несколько из этих API могут быть доступны в скриптах содержимого (см. список в руководстве по скриптаи содержимого).

Для использования большей силы API вам нужно запросить разрешения в manifest.json вашего дополнения.

Вы можете получить доступ к API используя пространство имён browser:

function logTabs(tabs) {
  console.log(tabs);
}

browser.tabs.query({currentWindow: true}, logTabs);

Многие API асинхронны, возвращают Promise:

function logCookie(c) {
  console.log(c);
}

function logError(e) {
  console.error(e);
}

var setCookie = browser.cookies.set(
  {url: "https://developer.mozilla.org/"}
);
setCookie.then(logCookie, logError);
Помните, что это отличается от системы дополнений Chrome, которая использует пространство имён chrome в отличии от browser, и которая использует обратный вызов вместо promises для асинхронных функций.

Для поддержки портирования, Firefox WebExtensions API реализация поддерживает chrome и функции обратного вызова, а также  browser и promises.

В Мозиле также есть polyfill, который позволяет коду, использующему browser и promises работать не изменёнными в Chrome: https://github.com/mozilla/webextension-polyfill.

Не все браузеры поддерживают все API: детали см. Browser support for JavaScript APIs.

cookies

Позволяет  WebExtensions получить и установить куки ,а также сообщить об их изменении.

API reference documentation

tabs

Interact with the browser's tab system. You can use this API to get a list of opened tabs and to create, modify, and rearrange tabs in the browser.

API reference documentation

windows

Взаимодействие с окнами браузера. Вы можете использовать этот API, чтобы получить информацию об открытых окнах, а также открывать, изменять и закрывать окна. Вы также можете слушать события открытия, закрытия окна, и активировать события.

API reference documentation

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: VitalyTartynov, Kloshar, pk.prog, wbamberg
Обновлялась последний раз: VitalyTartynov,