recursal/MDN huggingface dataset:
notifications.onShown
=====================

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

Syntaxe
-------


```js
browser.notifications.onShown.addListener(listener);
browser.notifications.onShown.removeListener(listener);
browser.notifications.onShown.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

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 `listener` 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 :

`notificationId`

`string`. ID de la notification qui a été affichée.


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

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

Exemples
--------

Ajoutez un écouteur à l'événement `notifications.onShown` et consignez ses détails :


```js
function logShown(itemId) {
  console.log(`shown: ${itemId}`);
  browser.notifications.getAll().then((all) => {
    console.log(all[itemId]);
  });
}

browser.notifications.onShown.addListener(logShown);
```


**Note :**

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

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

Syntaxe
-------


```js
browser.notifications.onClosed.addListener(listener);
browser.notifications.onClosed.removeListener(listener);
browser.notifications.onClosed.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à cet événement.

`removeListener(listener)`

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

`hasListener(listener)`

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

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

### Parameters

`callback`

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

`notificationId`

`string`. ID de la notification fermée.

`byUser`

`boolean`. `true` si la notification a été fermée par l'utilisateur, ou `false`si elle a été fermée par le système. Cet argument n'est pas supporté dans Firefox.


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

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

Exemples
--------

Dans cet exemple simple, nous ajoutons un écouteur à l'événement `notifications.onClosed` pour écouter les notifications système fermées. Lorsque cela se produit, nous enregistrons un message approprié à la console.


```js
browser.notifications.onClosed.addListener(function (notificationId) {
  console.log("Notification " + notificationId + " has closed.");
});
```


**Note :**

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

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.
getLastChecked
==============

Retourne le temps écoulé depuis que la dernière demande a été complétée.

Syntaxe
-------


```js
var state = browser.captivePortal.getLastChecked();
```

### Valeur retournée

Une Promise qui est remplie avec un nombre entier représentant le temps en millisecondes.

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

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

S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.

Syntaxe
-------


```js
browser.captivePortal.onConnectivityAvailable.addListener(callback);
browser.captivePortal.onConnectivityAvailable.removeListener(listener);
browser.captivePortal.onConnectivityAvailable.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un auditeur à cet événement

`removeListener(listener)`

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

`hasListener(listener)`

Vérifiez si `listener` est inscrit à cet événement. Renvoie `true` si c'est un auditeur, sinon `false` .

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

### Paramétres

`callback`

Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :

`status`

`string` Le statut du service, étant celui de `captive` s'il y a un portail captif déverrouillé présent ou `clear` si aucun portail captif n'est détecté


Exemples
--------

Gérer la capacité d'un utilisateur de changement à se connecter à l'internet :


```js
function handleConnectivity(connectivityInfo) {
  console.log("The captive portal status: " + connectivityInfo.status);
}

browser.captivePortal.onConnectivityAvailable.addListener(handleConnectivity);
```

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

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

Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.

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 `chrome.tabs` de Chromium. Cette documentation est dérivée de `tabs.json` dans le code Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0.
getState
========

Renvoie l'état du portail comme `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.

Syntaxe
-------


```js
var state = browser.captivePortal.getState();
```

### Valeur retournée

Une Promise qui est remplie avec une chaîne de caractères contenant l'un des éléments suivants `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.

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

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

S'allume lorsque l'état de portail captif change.

Syntaxe
-------


```js
browser.captivePortal.onStateChanged.addListener(callback);
browser.captivePortal.onStateChanged.removeListener(listener);
browser.captivePortal.onStateChanged.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un auditeur à cet événement.

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument de `listener` est l'auditeur à retirer.

`hasListener(listener)`

Vérifiez si `listener` est inscrit à cet événement. Renvoie `true` si c'est un auditeur, sinon `false`.

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

### Paramétres

`callback`

Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :

`details`

`string` L'État portail captif, étant l'un des `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.


Exemples
--------

Gérer un changement de statut de portail captif :


```js
function handlePortalStatus(portalstatusInfo) {
  console.log("The portal status is now: " + portalstatusInfo.details);
}

browser.captivePortal.onStateChanged.addListener(handlePortalStatus);
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
menus.ACTION\_MENU\_TOP\_LEVEL\_LIMIT
=====================================

Le nombre maximal d'éléments d'extension de niveau supérieur pouvant être ajoutés à un élément de menu dont `ContextType` (en-US) est "browser\_action" ou "page\_action". Tout élément au-delà de cette limite sera ignoré.

Sa valeur est de `6` pour Firefox et Chrome.

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette propriété disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.

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 `chrome.contextMenus` de chromium. Cette documentation est dérivée de `context_menus.json` dans le code Chromium.
menus.onClicked
===============

Lancé lorsqu'un élément de menu est cliqué.

Pour la compatibilité avec les autres navigateurs, Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.

Syntaxe
-------


```js
browser.menus.onClicked.addListener(listener);
browser.menus.onClicked.removeListener(listener);
browser.menus.onClicked.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

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 `listener` 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 :

`info`

`menus.OnClickData`. Informations sur l'élément cliqué et le contexte dans lequel le clic s'est produit.


`tab`

`tabs.Tab`. Les détails de l'onglet où le clic a eu lieu. Si le clic n'a pas eu lieu dans ou sur un onglet, ce paramètre sera manquant.


Exemples
--------

Cet exemple écoute les clics sur un élément de menu, puis enregistre l'ID de l'élément et l'ID de l'onglet :


```js
browser.menus.create({
  id: "click-me",
  title: "Click me!",
  contexts: ["all"],
});

browser.menus.onClicked.addListener((info, tab) => {
  console.log("Item " + info.menuItemId + " clicked " + "in tab " + tab.id);
});
```

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

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

### Example extensions

* menu-accesskey-visible
* menu-demo
* menu-labelled-open
* menu-remove-element
* menu-search
* session-state

**Note :**

Cette API est basée sur l'API `chrome.contextMenus` de chromium. Cette documentation est dérivée de `context_menus.json` dans le code Chromium.
menus.getTargetElement()
========================

Renvoie l'élément pour un `targetElementId` donné

Cette méthode est disponible pour tous les contextes de script d'extension (scripts de contenu, pages de fond et autres pages d'extension) et retourne l'élément pour un `info.targetElementId` donnée, à condition que l'élément existe toujours dans le document où la méthode est appelée.

La méthode ne fonctionne que dans le document qui inclut l'élément cliqué avec le bouton droit de la souris et la méthode `targetElementId` expire lorsque l'utilisateur ouvre un autre menu contextuel.

**Note :** `menus.getTargetElement` ne retourne l'élément demandé que s'il est appelé dans le même contexte que le document qui contient l'élément, par exemple en utilisant des scripts de contenu (comme dans l'exemple ci-dessous).

Une extension nécessite la permission "menus" pour utiliser cette API

Syntaxe
-------


```js
let elem = browser.menus.getTargetElement(targetElementId);
```

### Paramètres

`targetElementId`

La propriété de l'objet ``menus.OnClickData`` passé au gestionnaire ``menus.onClicked`` ou à l'événement ``menus.onShown``.

### Valeur retournée

L'élément auquel se réfère le paramètre `targetElementId`. Si le paramètre `targetElementId` n'est pas valide, La méthode retourne `null`.

Exemples
--------

L'exemple suivant utilise la méthode `getTargetElement` pour obtenir l'élément auquel se réfère la propriété `info.targetElementId` puis le supprime.


```js
browser.menus.create({
  title: "Remove element",
  documentUrlPatterns: ["\*://\*/\*"],
  contexts: [
    "audio",
    "editable",
    "frame",
    "image",
    "link",
    "page",
    "password",
    "video",
  ],
  onclick(info, tab) {
    browser.tabs.executeScript(tab.id, {
      frameId: info.frameId,
      code: `browser.menus.getTargetElement(${info.targetElementId}).remove();`,
    });
  },
});
```

### Example extensions

* menu-remove-element
Compatibilité des navigateurs
-----------------------------

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

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

* `menus.create`
* `menus.OnClickData`
menus.remove()
==============

Supprime un élément de menu.

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.

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

Syntaxe
-------


```js
var removing = browser.menus.remove(
  menuItemId, // integer or string
);
```

### Parameters

`menuItemId`

`integer` or `string`. The ID of the menu item to remove.

### Valeur retournée

Une `Promise` qui sera définit sans argument si la suppression a réussi, ou rejetée avec un message d'erreur si la suppression a échoué (par exemple, parce que l'élément n'a pas pu être trouvé).

Exemples
--------

Cette extension ajoute un élément de menu intitulé "Remove me!". Si vous cliquez sur l'élément, l'extension le supprime.


```js
function onRemoved() {
  console.log("item removed successfully");
}

function onError() {
  console.log("error removing item:" + browser.runtime.lastError);
}

browser.menus.create({
  id: "remove-me",
  title: "Remove me!",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(function (info, tab) {
  if (info.menuItemId == "remove-me") {
    var removing = browser.menus.remove(info.menuItemId);
    removing.then(onRemoved, onError);
  }
});
```

### Example extensions

* menu-demo
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 `chrome.contextMenus` de chromium. Cette documentation est dérivée de `context_menus.json` dans le code Chromium.
menus.refresh()
===============

Actualise un menu affiché.

Met à jour les éléments de menu de l'extension dans le menu affiché par le navigateur, y compris les modifications effectuées depuis l'affichage du menu. N'a aucun effet si le menu n'est pas affiché. La reconstruction d'un menu affiché est une opération coûteuse. N'utilisez cette méthode que lorsque cela est nécessaire.

Cela est généralement appelé depuis l'intérieur d'un gestionnaire d'événements `menus.onShown` après que le gestionnaire a effectué des mises à jour dans le menu.

Firefox rend cette fonction disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.

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

Syntaxe
-------


```js
browser.menus.refresh();
```

### Paramètres

Aucun.

### Valeur retournée

Une `Promise` qui se réalise sans arguments.

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

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

Exemples
--------

Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu `openLabelledId` menu item avec le nom d'hôte du lien :


```js
function updateMenuItem(linkHostname) {
  browser.menus.update(openLabelledId, {
    title: `Open (${linkHostname})`,
  });
  browser.menus.refresh();
}

browser.menus.onShown.addListener((info) => {
  if (!info.linkUrl) {
    return;
  }
  let linkElement = document.createElement("a");
  linkElement.href = info.linkUrl;
  updateMenuItem(linkElement.hostname);
});
```

### Example extensions

* menu-labelled-open
overrideContext()
=================

Masquer tous les éléments de menu par défaut de Firefox en faveur d'un menu contextuel personnalisé.

La méthode overrideContext permet d'afficher les éléments de menu correspondants de cette extension à la place du menu par défaut. Cette méthode doit être appelée à partir d'un gestionnaire d'événements DOM 'contextmenu', et ne s'applique qu'au menu qui s'ouvre après cet événement.

Pour appeler cette méthode, votre extension doit avoir la permission `menus.overrideContext`.

Syntaxe
-------


```js
browser.menus.overrideContext(
  contextOptions, // object
);
```

### Paramètres

`contextOptions`

`object`. Options sur la façon dont les menus contextuels seront remplacés.

`showDefaults` Facultatif

`boolean`. S'il faut également inclure les éléments de menu par défaut dans le menu.

`context` Facultatif

`string`. Le ContextType à surcharger, pour autoriser les éléments de menu d'autres extensions dans le menu. Actuellement, seuls `'bookmark'` et `'tab'` sont supportés. `showDefaults` ne peut pas être utilisé avec cette option.

`bookmarkId` Facultatif

`string`. Requis lorsque le contexte est `'bookmark'`. Nécessite la permission 'bookmark'.

`tabId` Facultatif

`integer`. Requis lorsque le contexte est `'tab'`. Nécessite la permission 'tabs'.
menus.onHidden
==============

Lancé lorsque le navigateur cesse d'afficher un menu: par exemple, parce que l'utilisateur a cliqué à l'extérieur ou sélectionné un élément.

Elle est seulement déclenchée pour les menus qui peuvent être manipulés en utilisant l'API `menus` elle-même: ceci inclut le menu contextuel, le menu des outils du navigateur et le menu des signets.

Ceci est plus susceptible d'être utilisé en combinaison avec `menus.onShown` et `menus.refresh()` API: une extension peut mettre à jour le menu quand il est affiché , puis annuler les modifications quand il est caché.

Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de nom des `menus`.

Syntaxe
-------


```js
browser.menus.onHidden.addListener(listener);
browser.menus.onHidden.removeListener(listener);
browser.menus.onHidden.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 `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, `false` sinon.

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

### Paramètres

`callback`

Fonction qui sera appelée lorsque cet événement se produit. La fonction sera transmise sans paramètre.

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

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

Exemples
--------

Cet exemple enregistre simplement un message chaque fois qu'un menu est masqué :


```js
function hidden() {
  console.log("Menu was hidden");
}

browser.menus.onHidden.addListener(hidden);
```
menus.removeAll()
=================

Supprime tous les éléments de menu ajoutés par l'extension.

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.

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

Syntaxe
-------


```js
var removing = browser.menus.removeAll();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui sera remplie sans argument lorsque tous les éléments ont été supprimés.

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

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

Exemples
--------

Cet exemple ajoute deux éléments de menu. Lorsque l'utilisateur clique sur l'élément "Supprimer tout !", L'extension supprime les deux éléments en utilisant `removeAll()`.


```js
function onRemoved() {
  console.log("items removed successfully");
}

browser.menus.create({
  id: "click-me",
  title: "Click me!",
  contexts: ["all"],
});

browser.menus.create({
  id: "remove-all",
  title: "Remove all!",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(function (info, tab) {
  if (info.menuItemId == "remove-all") {
    var removing = browser.menus.removeAll();
    removing.then(onRemoved);
  }
});
```


**Note :**

Cette API est basée sur l'API `chrome.contextMenus` de chromium. Cette documentation est dérivée de `context_menus.json` dans le code Chromium.
menus.ItemType
==============

Le type d'élément de menu.

Type
----

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

normal

Un élément de menu qui affiche simplement une étiquette.

checkbox

Un élément de menu qui représente un état binaire. Il affiche une coche à côté de l'étiquette. Cliquez sur l'élément pour activer la coche. L'écouteur `menus.onClicked` recevra deux propriétés supplémentaires : "checked", indiquant si l'élément est vérifié maintenant, et "wasChecked", indiquant si l'élément a été vérifié avant l'événement click.

radio

Un élément de menu qui représente l'un des groupes de choix. Tout comme une case à cocher, cela affiche également une coche à côté de l'étiquette, et son écouteur `menus.onClicked` est passé "checked" et "wasChecked". However, Cependant, si vous créez plus d'un élément radio, les éléments fonctionnent comme un groupe d'éléments radio items: un seul élément du groupe peut être vérifié, et cliquer sur un élément en fait l'élément sélectionné.

separator

Une ligne séparant un groupe d'éléments.

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 `chrome.contextMenus` de chromium. Cette documentation est dérivée de `context_menus.json` dans le code Chromium.