recursal/MDN huggingface dataset:
contentScripts
==============

Utilisez cette API pour enregistrer des scripts de contenu. L'enregistrement d'un script de contenu demande au navigateur d'insérer les scripts de contenu donnés dans des pages correspondant aux modèles d'URL donnés.

Cette API est très similaire à la clé `"content_scripts"` du manifest.json, à l'exception de `"content_scripts"` , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API `contentScripts`, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution.

Pour utiliser l'API, appelez `contentScripts.register()` en passant dans un objet définissant les scripts à enregistrer, les modèles d'URL, et d'autres options. Ceci retourne une `Promise` qui est résolue avec un objet `contentScripts.RegisteredContentScript`.

L'objet `RegisteredContentScript` représente les scripts enregistrés dans l'appel `register()` . Il définit une méthode `unregister()` que vous pouvez utiliser pour annuler l'inscription des scripts de contenu. Les scripts de contenu sont également désenregistrés automatiquement lorsque la page qui les a créés est détruite. Par exemple, s'ils sont enregistrés à partir de la page d'arrière-plan, ils seront automatiquement désenregistrés lorsque la page d'arrière-plan est détruite et s'ils sont enregistrés depuis une barre latérale ou une fenêtre contextuelle, ils seront automatiquement désinscrits.

Il n'y a pas de permission de l'API `contentScripts`, mais une extension doit disposer des permissions d'hôte appropriées pour tous les modèles qu'elle transmet à `register()`.

Types
-----

`contentScripts.RegisteredContentScript`

Un objet de ce type est renvoyé par la fonction `contentScripts.register()`. Il représente les scripts de contenu enregistrés par cet appel et peut être utilisé pour annuler l'enregistrement du script de contenu.

Fonctions
---------

`contentScripts.register()`

Enregistre les scripts de contenu donnés.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* content-script-register
devtools
========

Cette API permet aux extensions d'interagir avec les outils de développement (*devtools*) du navigateur. Elle peut être utilisée pour créer des pages d'outils de développement, interagir avec la fenêtre qui est inspectée, inspecter la page réseau des outils.

Pour utiliser cette API, la permission `"devtools"` doit être spécifiée dans le fichier `manifest.json`. Cette permission ne peut pas être facultative.

Interfaces
----------

`devtools.inspectedWindow`

Interagit avec la fenêtre sur laquelle les outils de développement sont attachés (il s'agit de la fenêtre inspectée). Cela inclut l'obtention de l'identifiant d'onglet pour la page inspectée, l'évaluation du code dans le contexte de la fenêtre inspectée, le rechargement de la page ou l'obtention de la liste des ressources dans la page.

`devtools.network`

Obtenir des informations sur les requêtes de réseau associées à la fenêtre sur laquelle les outils de développement sont attachés (il s'agit de la fenêtre inspectée).

`devtools.panels`

Créer des panneaux avec une interface utilisateur qui seront affichés dans les outils de développement de l'agent utilisateur.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :** Cette API est basée sur l'API Chromium `chrome.devtools`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
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.

Pour utiliser cette API, vous devez avoir la permission "notifications".

La notification est identique sur tous les systèmes d'exploitation de bureau. Quelque chose comme :

![](/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/notification.png)

Types
-----

`notifications.NotificationOptions`

Définit le contenu d'une notification.

`notifications.TemplateType`

Le type de notification Par exemple, cela définit si la notification peut contenir une image.

Fonctions
---------

`notifications.clear()`

Effacer une notification spécifique, compte tenu de son identifiant.

`notifications.create()`

Créez et affichez une nouvelle notification.

`notifications.getAll()`

Recevez toutes les notifications

`notifications.update()`

Mettre à jour une notification

Evénements
----------

`notifications.onButtonClicked`

Lancé lorsque l'utilisateur a cliqué sur un bouton dans la notification.

`notifications.onClicked`

Lancé lorsque l'utilisateur a cliqué sur la notification, mais pas sur un bouton.

`notifications.onClosed`

Lancé lorsqu'une notification est fermée, soit par le système, soit parce que l'utilisateur l'a rejeté..

`notifications.onShown`

Lancé immédiatement après l'affichage d'une notification.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* export-helpers
* forget-it
* google-userinfo
* notify-link-clicks-i18n
* runtime-examples

**Note :**

Cette API est basée sur l'API Chromium `chrome.notifications`.
management
==========

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

Avec l'API de `gestion` vous pouvez :

* Obtenir des informations sur les modules complémentaires installés
* Activer / Désactiver les modules complémentaires
* Désinstaller les modules complémentaires
* Découvrez quels sont les alertes des permissions envoyés particulièrement par les modules complémentaires ou les manifest
* Obtenir les notifications sur l'ajout des modules complémentaires, désinstallé, activé ou désactivé.

La plupart de ces opérations requièrent les permissions d'APIs de gestion. Les opérations qui ne fournissent pas d'accès à d'autres modules complémentaires ne nécessitent pas de permissions.

Types
-----

`management.ExtensionInfo`

Un objet contenant des informations sur un module complémentaire installé.

Fonctions
---------

`management.getAll()`

Renvoie des informations sur tous les modules complémentaires installés

`management.get()`

Renvoie des informations sur un module complémentaire particulier, compte tenu de son ID.

`management.getSelf()`

Renvoie des informations sur l'appel du module complémentaire.

`management.install()`

Installe un thème particulier, étant donné son URL à l'adresse addons.mozilla.org.

`management.uninstall()`

Désinstalle un module complémenaire particulier, compte tenu de son ID.

`management.uninstallSelf()`

Désinstalle l'appel d'un module complémentaire.

`management.getPermissionWarningsById()`

Obtenez l'ensemble des alertes des permissions particulièrement pour un module complémentaire, compte tenu de son ID.

`management.getPermissionWarningsByManifest()`

Obtenez l'ensemble des alertes de permission qui seraient affichés pour la chaîne de manifest donnée.

`management.setEnabled()`

Activer / désactiver un module complémentaire, compte tenu de son ID.

Evénements
----------

`management.onInstalled`

Action quand un module complémentaire est installé.

`management.onUninstalled`

Action quand un module complémentaire est désinstallé.

`management.onEnabled`

Action quand un module complémentaire est activé.

`management.onDisabled`

Action quand un module complémenaire est désactivé.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* theme-switcher

**Note :**

Cette API est basée sur l'API Chromium `chrome.management`. Cette documentation est dérivée de `management.json` dans le code de Chromium code.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
commands
========

Écoutez l'utilisateur exécutant les commandes que vous avez enregistrées à l'aide des clés `commandes` du fichier manifest.json.

Types
-----

`commands.Command`

Objet représentant une commande. Il contient les informations spécifiées pour la commande dans les clés `commands` du fichier manifest.json.

Fonctions
---------

`commands.getAll`

Obtient toutes les commandes enregistrées pour cette extension.

`commands.reset`

Réinitialiser la description de la commande donnée et le raccourci vers les valeurs données dans la clé "manifest".

`commands.update`

Modifiez la description ou le raccourci de la commande donnée.

Événements
----------

`commands.onCommand`

Activé lorsqu'une commande est exécutée à l'aide du raccourci clavier associé.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* commands

**Note :**

Cette API est basée sur l'API Chromium `chrome.commands`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
proxy
=====

Utilisez l'API proxy pour les requêtes Web proxy. Vous pouvez utiliser l'écouteur d'événement `proxy.onRequest` pour intercepter les requêtes web, et retourner un objet qui décrit si et comment les proxyer.

L'avantage de l'approche `proxy.onRequest` est que le code qui implémente votre stratégie de proxy s'exécute dans le script d'arrière-plan de votre extension pour accéder aux API WebExtension disponibles pour votre extension (y compris, par exemple, l'accès au `stockage` et au réseau de votre extension APIs comme `dns`).

En dehors de cette API, les extensions peuvent également utiliser la propriété `browserSettings.proxyConfig` pour configurer les paramètres proxy globaux.

Google Chrome fournit une API d'extension également appelée "proxy" qui est fonctionnellement similaire à cette API, dans la mesure où les extensions peuvent l'utiliser pour implémenter une politique de proxy. Cependant, la conception de l'API Chrome est complètement différente de cette API. Étant donné que cette API est incompatible avec l'API de `proxy` Chrome, cette API est uniquement disponible via l'espace de noms du `navigateur`.

Pour utiliser cette API, vous devez disposer de la permission "proxy". De plus, lorsque vous voulez intercepter des requêtes, vous avez également besoin de la permission de l'hôte pour les URL des requêtes interceptées

Types
-----

`proxy.ProxyInfo`

Décrit un proxy.

`proxy.RequestDetails`

Contient des informations sur une requête Web que le navigateur est sur le point de faire.

Propriétés
----------

`proxy.settings`

Obtenir et définir les paramètres de proxy.

Évènements
----------

`proxy.onError`

Lancé lorsque le système rencontre une erreur lors de l'exécution du script PAC ou de l'écouteur `onRequest`.

`proxy.onRequest`

Déclenché lorsqu'une requête Web est sur le point d'être effectuée, ce qui donne à l'extension l'opportunité de l'utiliser comme proxy.

Example extensions
------------------

* proxy-blocker
Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
userScripts
===========

Utilisez cette API pour enregistrer des scripts utilisateurs, des scripts tiers conçus pour manipuler des pages web ou fournir de nouvelles fonctionnalités. L'enregistrement d'un script utilisateur indique au navigateur de joindre le script aux pages qui correspondent aux modèles d'URL spécifiés lors de l'enregistrement.

Cette API offre des capacités similaires à `contentScripts` mais avec des fonctionnalités adaptées à la gestion de scripts tiers :

* l'exécution se fait dans une sandbox isolée : chaque script utilisateur est exécuté dans une sandbox isolée au sein des processus de contenu web, ce qui empêche toute interférence accidentelle ou délibérée entre les scripts.
* l'accès à la `fenêtre` et aux valeurs globales du `document` liées à la page web à laquelle le script utilisateur est attaché.
* aucun accès aux API de WebExtension ou aux autorisations associées accordées à l'extension : le script API, qui hérite des autorisations de l'extension, peut fournir des API de WebExtension packagées aux scripts utilisateur enregistrés. Un script API est déclaré dans le fichier manifeste de l'extension en utilisant la clé du manifeste "user\_scripts".

**Attention :** Cette API requiert la présence de la clé `user_scripts` dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, `user_scripts: {}`.

Pour utiliser l'API, appelez ``register()`` en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet ``RegisteredUserScript``.

**Note :** Les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés

Types
-----

`userScripts.RegisteredUserScript`

L'`object` renvoyé par la méthode `register()`. Il représente les scripts utilisateur enregistrés et est utilisé pour désenregistrer les scripts utilisateur.

Méthodes
--------

`userScripts.register()`

Enregistre les scripts utilisateur donnés.

Evénements
----------

`userScripts.onBeforeScript`

Un événement disponible pour le script API, enregistré dans `"user_scripts"`, qui s'exécute avant qu'un script utilisateur ne s'exécute. Utilisez-le pour déclencher l'exportation des API supplémentaires fournies par le script API, afin qu'elles soient disponibles pour le script utilisateur.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Working with `userScripts`
* `browser.contentScripts`
sidebarAction
=============

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

 Une barre latérale est un volet qui s'affiche à gauche ou à droite de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface utilisateur qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner une barre latérale à afficher. En utilisant la clé `sidebar_action` manifest.json, une extension peut définir sa propre barre latérale.
 En utilisant l'API `sidebarAction` décrite ici, une extension peut obtenir et définir les propriétés de la barre latérale.

L'API `sidebarAction` est étroitement modélisée sur l'API `browserAction`.

L'API sidebarAction est basée sur l'API sidebarAction d'Opéra. Toutefois, notez que les éléments suivants ne sont pas encore pris en charge : `setBadgeText()`, `getBadgeText()`, `setBadgeBackgroundColor()`, `getBadgeBackgroundColor()`, `onFocus`, `onBlur`.

Types
-----

`sidebarAction.ImageDataType`

Données de pixel pour une image. Doit être un objet `ImageData` (par exemple, à partir d'un élément `<canvas>`).

Fonctions
---------

`sidebarAction.close()`

Ferme la barre latérale

`sidebarAction.getPanel()`

Obtient le panneau de la barre latérale.

`sidebarAction.getTitle()`

Obtient le titre de la barre latérale.

`sidebarAction.isOpen()`

Vérifie si la barre latérale est ouverte ou non.

`sidebarAction.open()`

Ouvre la barre latérale.

`sidebarAction.setIcon()`

Définit l'icône de la barre latérale.

`sidebarAction.setPanel()`

Définit le panneau de la barre latérale.

`sidebarAction.setTitle()`

Définit le titre de la barre latérale. Ceci sera affiché dans n'importe quelle interface utilisateur fournie par le navigateur pour lister les barres latérales, comme un menu.

`sidebarAction.toggle()`

Permet de basculer la visibilité de la barre latérale.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemple extensions
------------------

* annotate-page

**Note :**

Cette API est basée sur l'API Opera `chrome.sidebarAction`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
clipboard
=========

L'API `presse-papiers` permet à une extension de copier des éléments dans le presse papier du système. Actuellement l'API ne prend en charge que la copie d'images, mais elle est destinée à prendre en charge la copie de texte et HTML dans l'avenir.

Cette API WebExtension existe principalement parce que l'API standard du presse-papiers Web ne prend pas en charge l'écriture d'images dans le presse-papiers. Cette API peut être dépréciée une fois que le support de l'API Clipboard pour les contenus non textuels du presse-papiers est entré en usage général.

La lecture depuis le presse-papiers n'est pas prise en charge par cette API, car le presse-papiers peut déjà être lu à l'aide des API de plate-forme Web standard. Voir Interaction avec le presse-papier.

Cette API est basée sur l'API de `clipboard` de Chrome, mais cette API n'est disponible que pour les applications Chrome et non pour les extensions.

Pour utiliser cette API, vous devez avoir la permission `"clipboardWrite"`.

Fonctions
---------

`clipboard.setImageData()`

Copiez une image dans le presse-papiers.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.clipboard`.
topSites
========

Utilisez l'API topSites pour obtenir un tableau contenant les pages que l'utilisateur a visitées fréquemment.

Les navigateurs maintiennent ceci pour aider l'utilisateur à retourner à ces endroits facilement. Par exemple, Firefox fournit par défaut une liste des pages les plus visitées dans la page "Nouvel onglet".

Pour utiliser l'API topSites, vous devez disposez de l' API permission "topSites".

Types
-----

`topSites.MostVisitedURL`

Un objet contenant le titre et l'URL d'un site web.

Méthodes
--------

`topSites.get()`

Obtient un tableau contenant tous les sites répertoriés dans la page "Nouvel onglet" du navigateur. Notez que le nombre de sites renvoyés ici est spécifique au navigateur, et les sites particuliers retournés seront probablement spécifiques à l'utilisateur, en fonction de leur historique de navigation.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* top-sites

**Note :**

Cette API est basée sur l'API Chromium `chrome.topSites`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
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`.

Types
-----

`extension.ViewType`

Le type de vue d'extension.

Propriétés
----------

`extension.lastError`

Défini pour la durée de vie d'un rappel si une extension ansychronique a généré une erreur. Si aucune erreur n'est survenue, lastError sera *indéfini*.

`extension.inIncognitoContext`

True pour les scripts de contenu s'exécutant dans les onglets de navigation privée et pour les pages d'extension exécutées dans un processus de navigation privée. Ce dernier ne s'applique qu'aux extensions avec 'incognito\_behavior'.

Fonctions
---------

`extension.getBackgroundPage()`

Renvoie l'objet `Window` pour la page d'arrière-plan qui s'exécute dans l'extension en cours. Renvoie null si l'extension n'a pas de page d'arrière-plan.

`extension.getExtensionTabs()` 
Obsolète

Renvoie un tableau des objets de la Window JavaScript pour chacun des onglets qui s'exécutent dans l'extension actuelle.

`extension.getURL()` 
Obsolète

Convertit un chemin relatif dans un répertoire d'installation d'extension en une URL complète.

`extension.getViews()`

Renvoie un tableau des objets `Window` pour chacune des pages exécutées dans l'extension en cours.

`extension.isAllowedIncognitoAccess()`

Récupère l'état de l'accès de l'extension en mode navigation privée (déterminé par la case à cocher "Autorisé dans navigation privée").

`extension.isAllowedFileSchemeAccess()`

Récupère l'état de l'accès de l'extension au schéma 'file://' (déterminé par la case à cocher 'Autoriser l'accès aux URL des fichiers').

`extension.sendRequest()` 
Obsolète

Envoie une seule requête aux autres écouteurs de l'extension.

`extension.setUpdateUrlData()`

Définit la valeur du paramètre CGI AP utilisé dans l'URL de mise à jour de l'extension. Cette valeur est ignorée pour les extensions hébergées dans le magasin du fournisseur du navigateur.

Evénements
----------

`extension.onRequest` 
Obsolète

Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.

`extension.onRequestExternal` 
Obsolète

Lancé lorsqu'une requête est envoyée depuis une autre extension.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* beastify
* cookie-bg-picker
* find-across-tabs
* imagify
* notify-link-clicks-i18n
* proxy-blocker
* user-agent-rewriter

**Note :**

Cette API est basée sur l'API Chromium `chrome.extension`. Cette documentation est dérivée de `extension.json` dans le code Chromium.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
find
====

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

Pour utiliser cette API, vous devez disposez de la permission "find".

Fonctions
---------

`find.find()`

Trouver du texte dans une page web.

`find.highlightResults()`

Mettez en surbrillance le dernier jeu de correspondance trouvé.

`find.removeHighlighting()`

Supprimez toute mise en évidence.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* find-across-tabs