Les APIs WebExtensions en JavaScript peuvent être utilisées au sein des scripts d'arrière plan de l'extension et dans tout autre document livré avec celle-ci. Ceci inclut les pop-ups relatives à une action navigateur ou action de page, barres latérales, pages d'options, ou pages de nouvel onglet. Certaines de ces APIs peuvent également être interrogées par des scripts de contenu de l'extension (voir la liste dans le guide des scripts de contenu).

Pour utiliser les APIs plus puissantes, vous devez en demander la permission dans le manifest.json de votre extension.

Vous pouvez accéder aux APIs en utilisant l'espace de noms browser :

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

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

De nombreuses APIs sont asynchrones et retournent une Promesse :

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);

Notez que ceci est différent du système d'extension de Google Chrome, qui utilise l'espace de noms chrome à la place de browser, et qui utilise des fonctions de rappel (callbacks) plutôt que des promesses pour les fonctions asynchrones. Afin de favoriser la portabilité, l'implémentation Firefox des WebExtensions prend en charge chrome et les fonctions de rappel ainsi que browser et les promesses. Mozilla a également écrit une prothèse d'émulation (polyfill) permettant au code qui utilise browser et les promesses de fonctionner sans modification dans Chrome: https://github.com/mozilla/webextension-polyfill.

Firefox implémente également ces API sous l'espace de noms Chrome à l'aide de rappels. Cela permet au code écrit pour Chrome de fonctionner en grande partie inchangé dans Firefox pour les API documentées ici.

Microsoft Edge utilise l'espace de noms browser, mais ne supporte pas encore les APIs asynchrones basées sur les promesses. Avec Edge, à l'heure actuelle, les API asynchrones doivent utiliser des fonctions de rappel.

Tous les navigateurs ne sont pas compatibles avec toutes les APIs : pour de plus amples informations, consultez la compatibilité navigateur pour les APIs JavaScript.

alarms

Cet API permet de planifier l'exécution d'un code à un instant donné dans le futur. Elle fonctionne de façon analogue à setTimeout() and setInterval() sauf que ces dernières ne fonctionnent pas pour les pages en arrière-plan lorsqu'elles sont chargées à la demande.

API reference documentation

bookmarks

L'API de la WebExtensions bookmarks permet à une extension d'intéragir et de manipuler le système de Bookmarking du navigateur. Vous pouvez l'utiliser pour enregistrer des marque-pages, récupérer des marque-pages existantes, et éditer, supprimer et organiser des marque-pages.

API reference documentation

browserAction

Ajoute un bouton à la barre d'outils du navigateur.

API reference documentation

browserSettings

API reference documentation

browsingData

Permet aux extensions d'effacer les données accumulées pendant la navigation de l'utilisateur.

API reference documentation

commands

Ecoutez l'utilisateur éxécutant les commandes que vous avez enregitrées à l'aide des commandes clefs manifest.json.

API reference documentation

contextualIdentities

Travailler avec des identités contextuelles: lister, créer, supprimer et mettre à jour des identités contextuelles.

API reference documentation

cookies

Permet aux extensions d'obtenir et de définir des cookies, et d'être averti quand ils changent.

API reference documentation

devtools.inspectedWindow

L'API devtools.inspectedWindow permet à un extension de devtools d'interagir avec la fenêtre sur laquelle les outils de développement sont attachés.

API reference documentation

devtools.network

L'API devtools.network permet à une extension devtools d'obtenir des informations sur les demandes de réseau associées à la fenêtre à laquelle les devtools sont attachés (la fenêtre inspectée).

API reference documentation

devtools.panels

L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools.

API reference documentation

downloads

Permet aux extensions d'interagir avec le gestionnaire de téléchargement du navigateur. Vous pouvez utiliser ce module API pour télécharger des fichiers, annuler, suspendre, reprendre des téléchargements et afficher les fichiers téléchargés dans le gestionnaire de fichiers.

API reference documentation

events

Types communs utilisés par les API qui distribuent les événements.

API reference documentation

extension

Utilitaires liés à votre extension. Obtenez des URL vers des packages de ressources avec votre extension, récupérez l'objet Window pour les pages de votre extension, récupérez les valeurs pour différents paramètres. Notez que les API de messagerie de ce module sont déconseillées au profit des API équivalentes dans le module runtime.

API reference documentation

extensionTypes

Certains types communs utilisés dans d'autres APIs WebExtensions.

API reference documentation

find

Trouve un texte dans une page web, et met en évidence les correspondances.

API reference documentation

history

Utilisez l'API historique pour interargir avec l'historique du navigateur.

API reference documentation

i18n

Fonctions pour internationaliser votre extension. Vous pouvez utiliser ces API pour obtenir des chaînes localisées à partir des fichiers de locale fournis avec votre extension, connaître la langue actuelle du navigateur et connaître la valeur de son En-tete Accept-Language.

API reference documentation

identity

Utilisez l'API d'identité pour obtenir un code d'autorisation ou un jeton d'accès OAuth2, qu'une extension peut ensuite utiliser pour accéder aux données utilisateur d'un service prenant en charge l'accès à OAuth2 (tel qu'un compte Google ou Facebook).

API reference documentation

idle

Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif.

API reference documentation

management

Obtenez les éléments sur les modules complémentaires installés.

API reference documentation

Ajoutez des éléments au système de menus du navigateur.

API reference documentation

notifications

Afficher les notifications à l'utilisateur, en utilisant le mécanisme de notification du système d'exploitation sous-jacent. Étant donné que cette API utilise le mécanisme de notification du système d'exploitation, les détails de l'apparence et du comportement des notifications peuvent varier en fonction du système d'exploitation et des paramètres de l'utilisateur.

API reference documentation

omnibox

Permet aux extensions d'implémenter un comportement personnalisé lorsque l'utilisateur tape dans la barre d'adresse du navigateur.

API reference documentation

pageAction

Une action de page est une icône cliquable dans la barre d'adresse du navigateur.

API reference documentation

permissions

Les extensions ont besoin de permissions pour accéder aux nombreuses API WebExtension les plus puissantes. Ils peuvent demander des permissions lors de l'installation en incluant les permissions dont ils ont besoin dans la clé du manifesst.json des permissions. Les principaux avantages de demander des permissions au moment de l'installation sont les suivants:

API reference documentation

privacy

Accédez et modifiez différents paramètres de navigateur liés à la vie privée.

API reference documentation

proxy

Utilisez l'API proxy pour enregistrer un fichier Proxy Auto-Configuration (PAC) étendu, qui implémente une stratégie de proxy pour les requêtes Web. Cette implémentation diffère de la conception PAC standard de plusieurs manières parce que la spécification de facto pour les fichiers PAC n'a pas changé depuis sa mise en œuvre initiale vers 1995. Il n'y a pas d'organisme de normalisation maintenant la spécification.

API reference documentation

runtime

Ce module fournit des informations sur votre extension et l'environnement dans lequel elle s'exécute.

API reference documentation

sessions

Utilisez l'API de sessions pour lister et restaurer, les onglets et les fenêtres qui ont été fermés pendant que le navigateur fonctionne.

API reference documentation

sidebarAction

Obtient et définit les propriétés de la barre latérale d'une extension.

API reference documentation

storage

Permet aux extensions de stocker et de récupérer des données et d'écouter les modifications apportées aux éléments stockés.

API reference documentation

tabs

Interagissez avec le système de tabulation du navigateur.

API reference documentation

theme

Permet aux extensions du navigateur de mettre à jour le thème du navigateur.

API reference documentation

topSites

Utilisez l'API topSites pour obtenir un tableau contenant tous les sites répertoriés dans la page "Nouvel onglet" du navigateur.

API reference documentation

types

Définit le type BrowserSetting , qui est utilisé pour représenter un paramètre de navigateur.

API reference documentation

webNavigation

Ajouter des écouteurs d'événement pour les différentes étapes d'une navigation. Une navigation se compose d'un cadre dans le navigateur passant d'une URL à l'autre, généralement (mais pas toujours) en réponse à une action de l'utilisateur comme cliquer sur un lien ou entrer une URL dans la barre d'adresse.

API reference documentation

webRequest

Chaque évènement est émis à une étape particulière de la requête. Les évènements sont émis dans l'ordre suivant:

API reference documentation

windows

Intéragissez avec les fenêtres du navigateur. Vous pouvez utiliser cette API pour obtenir des informations sur les fenêtres ouvertes et à ouvrir, modifiée et fermée les fenêtres. Vous pouvez également écouter la fenêtre ouverte, fermée, et activée les événements.

API reference documentation

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : hellosct1, Badacadabra, wbamberg
 Dernière mise à jour par : hellosct1,