recursal/MDN huggingface dataset:
commands.reset()
================

Réinitialise la description de la commande donnée et le raccourci clavier aux valeurs indiquées dans `commands` de la clé du manifest.json de l'extension.

Cela annule efficacement les modifications apportées à la commande à l'aide de la fonction `commands.update()`.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
browser.commands.reset(
  name, // string
);
```

### Paramètres

`name`

`string`. Nom de la commande à réinitialiser, comme indiqué par la propriété `name` de l'objet `commands.Command`.

### Valeur retournée

Une `Promise` qui sera remplie sans arguments lorsque le raccourci a été réinitialisé.

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

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

Exemples
--------

Réinitialise la commande "my-command" lorsque l'utilisateur clique sur le bouton "reset" :


```js
const commandName = "my-command";

function resetShortcut() {
  browser.commands.reset(commandName);
}

document.querySelector("#reset").addEventListener("click", resetShortcut);
```

### Example extensions

* commands
Command
=======

Information sur une commande. Cela contient les informations spécifiées pour la commande dans la `commande` clef manifest.json.

Un tableau de ces objets est renvoyé par `commands.getAll()`.

Type
----

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

`name`Facultatif

`string`. Nom de la commande. Cela sera passé dans l'écouteur de l'événement `commands.onCommand`.

`description`Facultatif

`string`. Description de cette commande. Ceci est principalement utilisé pour expliquer à l'utilisateur ce que cette commande fait.

`shortcut`Facultatif

`string`. clef(s) utilisée pour exécuter cette commande , spécifiée comme une chaîne comme "Ctrl+Shift+Y".

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.commands`.
getAll()
========

Obient toutes les commandes pour l'exécution que vous avez enregistré à l'aide d'une des `commandes` clef du manifest.json.

Les commandes sont renvoyées sous la forme d'un tableau d'objets `commands.Command`. Altenativement, si vous utilisez la version de base promise de l'API, `browser.commands.getAll()`, les commandes sont passées dans l'argument `onFulfilled` à `Promise.then()`.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var getCommands = browser.commands.getAll();
```

### Paramètres

Aucun.

### Valeur retournée

Une `Promise` qui sera accompli avec un tableau d'objets ``commands.Command``, un pour chaque commande enregistrée pour l'extension. Si aucune n'a été enregistrée, le tableau sera vide.

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

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

Exemples
--------


```js
function logCommands(commands) {
  commands.forEach(function (command) {
    console.log(command);
  });
}

var getCommands = browser.commands.getAll();
getCommands.then(logCommands);
```

### 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.
search.search()
===============

Effectuer une recherche en utilisant le moteur de recherche spécifié, ou le moteur de recherche par défaut si aucun moteur de recherche n'est spécifié.

Les résultats seront affichés dans un nouvel onglet, ou si l'argument tabId est donné, dans l'onglet identifié par ceci.

Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest "search".

Pour obtenir les moteurs de recherche installés, utilisez `search.get()`.

Syntaxe
-------


```js
browser.search.search(
  searchProperties, // object
);
```

### Paramètres

`searchProperties`

`object`. Un objet avec les propriétés suivantes :

`query`

`string`. La requête de recherche.

`engine`Facultatif

`string`. Le nom du moteur de recherche. Si le nom du moteur de recherche que vous spécifiez n'existe pas, la fonction lance une erreur. Si cette propriété est omise, le moteur de recherche par défaut sera utilisé.

`tabId`Facultatif

`integer`. Un identificateur facultatif pour l'onglet dans lequel vous voulez exécuter la recherche. Si cette propriété est omise, les résultats de la recherche seront affichés dans un nouvel onglet.


### Valeur retournée

Aucune

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

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

Exemples
--------

Recherche à l'aide du moteur de recherche par défaut. Les résultats seront affichés dans un nouvel onglet :


```js
function search() {
  browser.search.search({
    query: "styracosaurus",
  });
}

browser.browserAction.onClicked.addListener(search);
```


Recherche à l'aide de Wikipédia. Les résultats seront affichés dans un nouvel onglet :


```js
function search() {
  browser.search.search({
    query: "styracosaurus",
    engine: "Wikipedia (en)",
  });
}

browser.browserAction.onClicked.addListener(search);
```


Recherche à l'aide de Wikipédia. Les résultats seront affichés dans un nouvel onglet


```js
function search(tab) {
  browser.search.search({
    query: "styracosaurus",
    engine: "Wikipedia (en)",
    tabId: tab.id,
  });
}

browser.browserAction.onClicked.addListener(search);
```

### Example extensions

* menu-search
search.get()
============

Obtient un tableau de tous les moteurs de recherche installés.

Chaque moteur de recherche renvoyé est identifié par un nom, que vous pouvez passer dans `search.search()` pour utiliser ce moteur particulier pour effectuer une recherche.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var gettingEngines = browser.search.get();
```

### Paramètres

Aucun.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau d'objets de moteur de recherche. Chaque objet de moteur de recherche peut contenir les propriétés suivantes :

`name`

`string`. Le nom du moteur de recherche.

`isDefault`

`boolean`. `true` si le moteur de recherche est le moteur par défaut. Un seul moteur de recherche peut être le moteur par défaut à un moment donné.

`alias`Facultatif

`string`. Si un moteur de recherche a un alias, l'utilisateur peut effectuer une recherche avec un moteur de recherche particulier en entrant l'alias dans la barre d'adresse avant le terme de recherche. Par exemple, si le moteur Wikipédia a un alias "wk", l'utilisateur peut rechercher des pandas dans Wikipédia en entrant "wk pandas" dans la barre d'adresse. L'alias est parfois aussi appelé "mot-clé".

`favIconUrl`Facultatif

`string`. L'icône du moteur de recherche, comme une donnée : URL.

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

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

Exemples
--------

Obtenir tous les moteurs de recherche installés :


```js
function retrieved(results) {
  console.log(`There were: ${results.length} search engines retrieved.`);
  for (let searchEngine of results) {
    console.log(JSON.stringify(searchEngine.name));
  }
}

browser.search.get().then(retrieved);
```

### Example extensions

* menu-search
i18n.detectLanguage()
=====================

Détecte la langue du texte fourni à l'aide du détecteur de langue compact (CLD).

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var detectingLanguages = browser.i18n.detectLanguage(
  text, // string
);
```

### Paramètres

`text`

`string`. Chaîne d'entrée de l'utilisateur à traduire.

### Valeur retournée

Une `Promise` qui sera remplie avec un objet résultat. L'objet résultat a deux propriétés :

`isReliable`

`boolean`. Si la langue a été détectée de manière fiable.

`languages`

`array` d'objets, dont chacun a deux propriétés:

`language`

`i18n.LanguageCode`. La langue détectée.

`percentage`

`integer`. Le pourcentage de la chaîne d'entrée qui était dans la langue détectée.


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

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

Exemples
--------


```js
function onLanguageDetected(langInfo) {
  for (lang of langInfo.languages) {
    console.log("Le langage est : " + lang.language);
    console.log("Le pourcentage est : " + lang.percentage);
  }
}

var text = "L'homme est né libre, et partout il est dans les fers.";

var detecting = browser.i18n.detectLanguage(text);
detecting.then(onLanguageDetected);
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.i18n`. Cette documentation est dérivée de `i18n.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.
i18n.LanguageCode
=================

Une balise de langue telle que `"en-US"` ou "`fr`".

Type
----

Les valeurs de ce type sont des chaînes.

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.i18n`. Cette documentation est dérivée de `i18n.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.
i18n.getAcceptLanguages()
=========================

Obtient les accept-languages du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez `i18n.getUILanguage`.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var gettingAcceptLanguages = browser.i18n.getAcceptLanguages();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui sera remplie avec un `array` d'objets ``i18n.LanguageCode``.

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

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

Exemples
--------


```js
function onGot(languages) {
  console.log(languages);
  //e.g. Array [ "en-US", "en" ]
}

var gettingAcceptLanguages = browser.i18n.getAcceptLanguages();
gettingAcceptLanguages.then(onGot);
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.i18n`. Cette documentation est dérivée de `i18n.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.
i18n.getMessage()
=================

Obtient la chaîne localisée pour le message spécifié.

Syntaxe
-------


```js
browser.i18n.getMessage(
  messageName, // string
  substitutions, // optional any
);
```

### Paramètres

`messageName`

`string`. Le nom du message, tel que spécifié dans le fichier messages.json. Si le message ne peut pas être trouvé dans messages.json :

* Firefox renvoie "" et enregistre une erreur.
* Chrome renvoie "" et n'enregistre pas d'erreur.

`substitutions`Facultatif

`string` ou `array` de `string`. Une chaîne de substitution unique ou un tableau de chaînes de substitution. Dans Chrome, si vous fournissez plus de 9 chaînes de substitution, `getMessage()` renvoie `undefined`.

### Valeur retournée

`string`. Message localisé pour les paramètres régionaux en cours.

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

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

Exemples
--------

Obtenez la chaîne localisée pour `"messageContent"`, avec `target.url` substitué :


```js
var message = browser.i18n.getMessage("messageContent", target.url);
console.log(message);
```


Cela fonctionnerait avec un fichier \_locales/en/messages.json contenant :


```json
{
  "messageContent": {
    "message": "You clicked $URL$.",
    "description": "Tells the user which link they clicked.",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  }
}
```


Si `target.url` est "https://developer.mozilla.org", alors la valeur de message, dans la locale "en", serait :
```

"You clicked https://developer.mozilla.org."
```

### Example extensions

* menu-accesskey-visible
* menu-demo
* notify-link-clicks-i18n

**Note :**

Cette API est basée sur l'API Chromium `chrome.i18n`. Cette documentation est dérivée de `i18n.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.
i18n.getUILanguage()
====================

Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de `i18n.getAcceptLanguages` qui renvoie les langues utilisateur préférées.

Syntaxe
-------


```js
browser.i18n.getUILanguage();
```

### Paramètres

Aucun

### Valeur retournée

`string`. Le code de langue de l'interface utilisateur du navigateur en tant que `i18n.LanguageCode`.

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

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

Exemples
--------


```js
var uiLanguage = browser.i18n.getUILanguage();
console.log(uiLanguage);

//e.g. "fr"
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.i18n`. Cette documentation est dérivée de `i18n.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.
proxy.RequestDetails
====================

Contient des informations sur une requête Web que le navigateur est sur le point de faire. Une instance de cet objet est passée dans l'écouteur `proxy.onRequest`.

Type
----

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

`cookieStoreId`

`string`. L'ID de magasin de cookies du contexte actuel.

`documentUrl`

`string`. URL de la page dans laquelle la ressource demandée sera chargée.

`frameId`

`integer`. Zéro si la requête se produit dans le cadre principal; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'une (sous-)frame est chargé (`type` est `main_frame` ou `sub_frame`), `frameId` indique l'ID de cette trame, pas l'ID de la trame externe. Les ID de cadre sont uniques dans un onglet.

`fromCache`

`boolean`. Indique si cette réponse sera récupérée du cache disque.

`incognito`

`boolean` `true` pour les demandes de navigation privées

`ip`

L'adresse IP du serveur à laquelle la demande sera envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.

`method`

`string`. Méthode HTTP standard: par exemple, "GET" ou "POST".

`originUrl`

`string`. URL de la ressource qui a déclenché cette demande. Notez que ceci peut ne pas être le même que l'URL de la page dans laquelle la ressource demandée sera chargée. Par exemple, si un document déclenche un chargement dans une fenêtre différente l'attribut cible d'un lien, ou d'un document CSS inclut une image utilisant la `notation fonctionnelle url()`, alors ce sera l'URL du document original ou du document CSS, respectivement.

`parentFrameId`

`integer`. ID de l'image qui contient l'image qui a envoyé la demande. Défini sur -1 si aucun cadre parent n'existe.

`requestId`

`string`. L'ID de la demande Les ID de demande sont uniques dans une session de navigateur, vous pouvez donc les utiliser pour associer différents événements associés à la même demande.

`requestHeaders`Facultatif

`webRequest.HttpHeaders`. Les en-têtes de requête HTTP qui vont être envoyés avec cette requête. Notez que ceci n'est inclus que si l'option `"requestHeaders"` a été passée dans `addListener()`.

`tabId`

`integer`. ID de l'onglet dans lequel la requête a lieu. Défini sur -1 si la requête n'est pas liée à un onglet.

`timeStamp`

`number`. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.

`type`

`webRequest.ResourceType`. Le type de ressource demandé : par exemple, "image", "script", "stylesheet".

`url`

`string`. Cible de la demande.

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

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

Contient des informations sur un proxy. Cet objet, ou un tableau de ces objets, est renvoyé par le programme d'écoute à `proxy.onRequest`. Il indique au navigateur si la requête doit être mandatée et, dans l'affirmative, quel proxy utiliser.

Type
----

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

`type`

`string`. Cela indique s'il faut utiliser un proxy et, dans l'affirmative, quel type de proxy utiliser. Il peut prendre l'une des valeurs suivantes :

* `"direct"`: ne pas utiliser la requête par procuration. Si cette valeur est donnée, toutes les autres propriétés de cet objet sont ignorées.
* `"http"`: HTTP proxy (ou SSL CONNECT pour HTTPS)
* `"https"`: HTTP proxying via TLS connection au proxy
* `"socks"`: proxy SOCKS v5
* `"socks4"`: proxy SOCKS v4

`host`

`string`. Le nom d'hôte du serveur proxy. Obligatoire sauf si le `type` est `"direct"`.

`port`

`string`. e numéro de port du serveur proxy. Obligatoire sauf si le `type` est `"direct"`.

`username`

`string`. Nom d'utilisateur pour le service proxy. Ceci est utilisable avec "socks". Pour les autorisations de proxy HTTP, utilisez `webRequest.onAuthRequired`.

`password`

`string`. Mot de passe pour le service proxy. Ceci est utilisable avec "socks". FPour les autorisations de proxy HTTP, utilisez `webRequest.onAuthRequired`.

`proxyDNS`

`boolean`. Si vrai, le serveur proxy est utilisé pour résoudre certaines requêtes DNS (uniquement utilisable avec `"socks4"` et `"socks"`). Par défaut à `false`.

`failoverTimeout`

`number`: Délais de basculement en secondes. Si la connexion ne parvient pas à connecter le serveur proxy après ce nombre de secondes, le serveur proxy suivant dans le tableau renvoyé par l'écouteur `proxy.onRequest` sera utilisé.


`proxyAuthorizationHeader`

`string.` Cette chaîne, si elle est définie sur non-vide, est passée directement en valeur à l'en-tête de requête `Proxy-Authorization` (en-US) envoyé aux proxies HTTP dans le cadre des requêtes HTTP ordinaires et des requêtes CONNECT. Simplement dit, ceci peut être utilisé pour s'authentifier directement sur les proxies HTTP nécessitant une authentification (non contestable).

Par exemple, si vous voulez envoyer "nom d'utilisateur" et "mot de passe" pour l'authentification "basique", vous pouvez définir la propriété `proxyAuthorizationHeader` à `Basic dXNlcm5hbWU6cGFzc3dvcmQ=`

`connectionIsolationKey` Facultatif

`string.` Une clé optionnelle utilisée pour l'isolation supplémentaire de cette connexion proxy.

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

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

Un objet `BrowserSetting` qui peut être utilisé pour modifier les paramètres de proxy du navigateur.

**Note :** La possibilité de modifier les paramètres de proxy nécessite un accès à une fenêtre privée car les paramètres de proxy affectent à la fois les fenêtres privées et non privées. Par conséquent, si une extension n'a pas reçu l'autorisation de fenêtre privée, les appels à `proxy.settings.set()` lanceront une exception.

La valeur sous-jacente est un objet avec les propriétés énumérées ci-dessous.

Lors de la définition de cet objet, toutes les propriétés sont facultatives. Notez que les propriétés omises seront réinitialisées à leur valeur par défaut.

`autoConfigUrl`Facultatif

`string`. Une URL à utiliser pour configurer le proxy.

`autoLogin`Facultatif

`boolean`. Ne pas demander l'authentification si le mot de passe est enregistré. Par défaut à `false`.

`ftp`Facultatif

`string`. L'adresse du proxy FTP. Peut inclure un port.

`http`Facultatif

`string`. L'adresse du proxy HTTP. Peut inclure un port.

`httpProxyAll`Facultatif

`boolean`. Utilisez le serveur proxy HTTP pour tous les protocoles. Par défaut à `false`.

`passthrough`Facultatif

`string`. Une liste d'hôtes séparés par des virgules qui ne doivent pas être mandatés. La valeur par défaut est "localhost, 127.0.0.1".

`proxyDNS`Facultatif

`boolean`. DNS proxy lors de l'utilisation de SOCKS5. Par défaut à `false`.

`proxyType`Facultatif

`string`. Le type de proxy à utiliser. Cela peut prendre l'une des valeurs suivantes : "none", "autoDetect", "system", "manual", "autoConfig". Par défaut à "system".

`socks`Facultatif

`string`. L'adresse du proxy SOCKS. Peut inclure un port.

`socksVersion`Facultatif

`integer`. La version du proxy SOCKS. Peut être 4 ou 5. Par défaut à 5.

`ssl`Facultatif

`string`. L'adresse du proxy SSL. Peut inclure un port.

Exemples
--------


```js
let proxySettings = {
  proxyType: "manual",
  http: "http://proxy.org:8080",
  socksVersion: 4,
  passthrough: ".example.org",
};

browser.proxy.settings.set({ value: proxySettings });
```

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

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

Lancé en cas d'erreur lors de l'évaluation du fichier PAC ou l'écouteur `onRequest`.

L'erreur peut être déclenchée en lançant ou renvoyant une valeur invalide dans le gestionnaire d'événements proxy.onRequest.

Syntaxe
-------


```js
browser.proxy.onError.addListener(listener);
browser.proxy.onError.removeListener(listener);
browser.proxy.onError.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(listener)`

Ajoute un écouteur à cet événement.

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.

`hasListener(listener)`

Vérifiez si l'`écouteur` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

Syntaxe addListener
-------------------

### Paramètres

`callback`

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

`newState`

`Object`. Un objet Error représentant l'erreur.


### Example extensions

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

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