JavaScript APIs
JavaScript APIs for WebExtensions can be used inside the extension's background scripts and in any other documents bundled with the extension, including browser action or page action popups, sidebars, options pages, or new tab pages. A few of these APIs can also be accessed by an extension's content scripts (see the list in the content script guide).
To use the more powerful APIs you need to request permission in your extension's manifest.json.
You can access the APIs using the browser
namespace:
function logTabs(tabs) {
console.log(tabs);
}
browser.tabs.query({currentWindow: true}, logTabs);
Many of the APIs are asynchronous, returning a 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);
Note that this is different from Google Chrome's extension system, which uses the chrome
namespace instead of browser
, and which uses callbacks instead of promises for asynchronous functions. As a porting aid, the Firefox implementation of WebExtensions APIs supports chrome
and callbacks as well as browser
and promises. Mozilla has also written a polyfill which enables code that uses browser
and promises to work unchanged in Chrome: https://github.com/mozilla/webextension-polyfill.
Microsoft Edge uses the browser
namespace, but doesn't yet support promise-based asynchronous APIs. In Edge, for the time being, asynchronous APIs must use callbacks.
Not all browsers support all the APIs: for the details, see Browser support for JavaScript APIs.
- browserAction
- Adds a button to the browser's toolbar.
- commands
- Verwenden Sie die Ausführungsbefehle der Benutzer, die Sie mit Hilfe des
Schlüssels commands
der manifest.json registriert haben. - downloads
- Enables extensions to interact with the browser's download manager. You can use this API module to download files, cancel, pause, resume downloads, and show downloaded files in the file manager.
- Lesezeichen
- Die WebExtensions
bookmarks
API erlaubt es einer Erweiterung mit dem Lesezeichensystem des Browsers interagieren und dieses zu manipulieren. Sie können die API verwenden, um für Seiten Lesezeichen zu setzen, vorhandene Lesezeichen abzurufen und Lesezeichen zu bearbeiten, zu entfernen und zu organisieren.