recursal/MDN huggingface dataset:
webNavigation.onCompleted
=========================

Lancé lorsqu'un document, y compris les ressources auxquelles il fait référence, est complètement chargé et initialisé. Ceci est équivalent à l'événement `chargement` du DOM.

Syntaxe
-------


```js
browser.webNavigation.onCompleted.addListener(
  listener, // function
  filter, // optional object
);
browser.webNavigation.onCompleted.removeListener(listener);
browser.webNavigation.onCompleted.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 est écouté, sinon `false`.

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

### Paramètres

`callback`

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

`details`

`object`. Détails sur l'événement de navigation.


`filter`Facultatif

`object`. Un objet contenant une seule propriété `url`, qui est un `Array` d'objets `events.UrlFilter`. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

Objets supplémentaires
----------------------

### Détails

`tabId`

`integer`. L'ID de l'onglet dans lequel la navigation s'est produite.

`url`

`string`. L'URL à laquelle le cadre donné a navigué.

`processId`

`integer`. L'ID du processus dans lequel cet onglet est rendu.

`frameId`

`integer`. Cadre dans lequel la navigation s'est produite. 0 indique que la navigation s'est déroulée dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation s'est déroulée dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.

`timeStamp`

`number`. L'heure à laquelle la page a terminé le chargement, en millisecondes depuis l'époque.

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

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

Exemples
--------

Consigne les URL cibles de `onCompleted`, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".


```js
var filter = {
  url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};

function logOnCompleted(details) {
  console.log("onCompleted: " + details.url);
}

browser.webNavigation.onCompleted.addListener(logOnCompleted, filter);
```

### Example extensions

* navigation-stats

**Note :**

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

Récupère des informations sur un cadre particulier. Un cadre peut être l'image de niveau supérieur dans un onglet ou un iframe imbriqué, et est identifié de manière unique par un ID de tabulation et un ID de cadre.

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

Syntaxe
-------


```js
var gettingFrame = browser.webNavigation.getFrame(
  details, // object
);
```

### Paramètres

`details`

`object`. Informations sur le cadre pour récupérer des informations sur :

`tabId`

`integer`. L'ID de l'onglet dans lequel se trouve le cadre.

`processId` Facultatif

`integer`. L'ID du processus exécutant le moteur de rendu pour cet onglet.

`frameId`

`integer`. L'ID du cadre dans l'onglet donné.


### Valeur retournée

Une `Promise` qui sera rempli avec un objet contenant les propriétés suivantes :

`errorOccurred`

`boolean`. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement `onErrorOccurred` déclenché.

`url`

`string`. L'URL actuellement associée à cette trame, si la trame identifiée par `frameId` existait à un point de l'onglet identifié par `tabId`. Le fait qu'une URL soit associée à un `frameId` donné n'implique pas que la trame correspondante existe toujours.

`parentFrameId`

`integer`. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet.

Si l'onglet ou l'ID de trame spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

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

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

Exemples
--------


```js
function onGot(frameInfo) {
  console.log(frameInfo);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

var gettingFrame = browser.webNavigation.getFrame({
  tabId: 19,
  frameId: 1537,
});

// Edge specific - processId is required not optional, must be integer not null
//var gettingFrame = browser.webNavigation.getFrame({ tabId: 19, processId: 0, frameId: 1537 });

gettingFrame.then(onGot, onError);
```


**Note :**

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

Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).

Syntaxe
-------


```js
browser.webNavigation.onTabReplaced.addListener(
  listener, // function
  filter, // optional object
);
browser.webNavigation.onTabReplaced.removeListener(listener);
browser.webNavigation.onTabReplaced.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 est écouté, sinon `false`.

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

### Paramètres

`callback`

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

`details`

`object`.


Objets supplémentaires
----------------------

### Détails

`replacedTabId`

`integer`. L'ID de l'onglet qui a été remplacé.

`tabId`

`integer`. L'ID de l'onglet qui a remplacé l'ancien onglet.

`timeStamp`

`number`. Le moment où le remplacement s'est produit, en millisecondes depuis l'époque.

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

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

Exemples
--------


```js
function logOnTabReplaced(details) {
  console.log("onTabReplaced: " + details);
}

browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced);
```


**Note :**

This API is based on Chromium's `chrome.webNavigation` API. This documentation is derived from `web_navigation.json` in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
webNavigation.getAllFrames()
============================

Étant donné un ID d'onglet, récupère des informations sur toutes les images qu'il contient.

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

Syntaxe
-------


```js
var gettingFrames = browser.webNavigation.getAllFrames(
  details, // object
);
```

### Paramètres

`details`

`object`. Informations sur l'onglet pour récupérer toutes les images.

`tabId`

`integer`. L'identifiant de l'onglet


### Valeur retournée

Une `Promise` sera accompli avec un tableau d'objets, dont chacun a les propriétés suivantes :

`errorOccurred`

`boolean`. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement `onErrorOccurred` déclenché.

`processId`

`integer`. L'ID du processus exécutant le moteur de rendu pour cet onglet.

`frameId`

`integer`. L'identifiant de l'image Si c'est l'image principale, alors `frameId` est nul.

`parentFrameId`

`integer`. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet.

`url`

`string`. L'URL actuellement associée à ce cadre.

Si l'onglet spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Ce code enregistre les URL de toutes les images dans l'onglet actif, lorsque l'utilisateur clique sur une action du navigateur :


```js
function logFrameInfo(framesInfo) {
  for (frameInfo of framesInfo) {
    console.log(frameInfo);
  }
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function logAllFrames(tabs) {
  var gettingAllFrames = browser.webNavigation.getAllFrames({
    tabId: tabs[0].id,
  });
  gettingAllFrames.then(logFrameInfo, onError);
}

browser.browserAction.onClicked.addListener(function () {
  var querying = browser.tabs.query({
    currentWindow: true,
    active: true,
  });

  querying.then(logAllFrames, onError);
});
```


**Note :**

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

Informations supplémentaires sur une transition.Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la table de compatibilité pour plus de détails.Type
----

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

"client\_redirect"

Redirection(s) provoquée par le JavaScript en cours d'exécution dans la page ou un pragma "actualiser" dans la balise meta de la page.

"server\_redirect"

Redirection(s) provoquée par un code status HTTP 3XX envoyé par le serveur.

"forward\_back"

L'utilisateur a utilisé le bouton avant ou arrière pour déclencher la navigation..

"from\_address\_bar"

L'utilisateur a déclenché la navigation depuis la barre d'adresse.

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.webNavigation`. Cette documentation est dérivée de `web_navigation.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.
notifications.onButtonClicked
=============================

Lancé lorsque l'utilisateur clique sur l'un des boutons de la notification.

Syntaxe
-------


```js
browser.notifications.onButtonClicked.addListener(listener);
browser.notifications.onButtonClicked.removeListener(listener);
browser.notifications.onButtonClicked.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 de `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
-------------------

### 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 sur laquelle le bouton a été cliqué.

`buttonIndex`

`integer`. L'index zero-based du bouton sur lequel vous avez cliqué.


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.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.
notifications.update()
======================

Met à jour une notification, compte tenu de son identifiant

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

Syntaxe
-------


```js
var updating = browser.notifications.update(
  id, // string
  options, // NotificationOptions
);
```

### Paramètres

`id`

`string`. L'ID de la notification à mettre à jour. C'est la même chose que l'ID transmis dans le callback `notifications.create()`.

`options`

`notifications.NotificationOptions`. Définit le nouveau contenu et le nouveau comportement de la notification.

### Valeur retournée

Une `Promise` qui sera remplie avec un booléen : `true` si la notification a été mise à jour, ou `false` si ce n'est pas le cas (par exemple, parce que la notification référencée par `id` n'existe pas).

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

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

Exemples
--------

Cet exemple utilise `update()` pour mettre à jour une notification de progression. Cliquez sur l'action du navigateur pour afficher la notification et lancer un `alarm`, que nous utilisons pour mettre à jour l'indicateur de progression de la notification.

Notez que vous aurez besoin de la permission "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications). Notez également que Firefox ne prend pas en charge l'attribut de `progress`.


```js
var cakeNotification = "cake-notification";

/\*

CAKE\_INTERVAL is set to 0.3 seconds in this example.
Such a short period is chosen to make the extension's behavior
more obvious, but this is not recommended in real life.
Note that in Chrome, alarms cannot be set for less than
a minute.

\*/
var CAKE\_PREP\_INTERVAL = 0.005;

var progress = 0;

browser.alarms.onAlarm.addListener(function (alarm) {
  progress = progress + 10;
  if (progress > 100) {
    browser.notifications.clear(cakeNotification);
    browser.alarms.clear("cake-progress");
  } else {
    browser.notifications.update(cakeNotification, {
      progress: progress,
    });
  }
});

browser.browserAction.onClicked.addListener(function () {
  browser.notifications.getAll((all) => {
    if (all.length > 0) {
      browser.notifications.clear(cakeNotification);
      return;
    }
    progress = 0;
    browser.notifications.create(cakeNotification, {
      type: "progress",
      iconUrl: browser.extension.getURL("icons/cake-48.png"),
      title: "Your cake is being prepared...",
      message: "Something something cake",
      progress: progress,
    });
    browser.alarms.create("cake-progress", {
      periodInMinutes: CAKE\_PREP\_INTERVAL,
    });
  });
});
```


**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.
notifications.TemplateType
==========================

Ceci est une chaîne et représente le type de notification à créer. Il existe quatre types de notification : "basic", "image", "list", "progress".

Ceci est passé dans `notifications.create()` et `notifications.update()` comme propriété de `type` `NotificationOptions`.

Type
----

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

* `"basic"`: la notification comprend :
    + un titre (`NotificationOptions.title`)
    + un message (`NotificationOptions.message`)
    + une icône (`NotificationOptions.iconUrl`)Facultatif
    + un message supplémentaire (`NotificationOptions.contextMessage`)Facultatif
    + jusqu'à deux boutons (`NotificationOptions.buttons`)Facultatif
* `"image"`: tout dans `"basic"` et aussi :
    + Une image (`NotificationOptions.imageUrl`)
* `"list"`: tout dans `"basic"` et aussi :
    + Une liste d'éléments (`NotificationOptions.items`)
* `"progress"`: tout en `"basic"` et aussi :
    + Un indicator de progression (`NotificationOptions.progress`)

Actuellement Firefox ne supporte que "basic" ici.

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.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.
notifications.clear()
=====================

Efface une notification, compte tenu de son identifiant.

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

Syntaxe
-------


```js
var clearing = browser.notifications.clear(
  id, // string
);
```

### Paramètres

`id`

`string`. L'ID de la notification à effacer. C'est la même chose que l'ID transmis dans le callback `notifications.create()`.

### Valeur retournée

Une `Promise` qui sera remplie avec un booléen : `true` la notification a été effacée, ou `false` si ce n'est pas le cas (par exemple, parce que la notification référencée par `id` n'existe pas).

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

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

Exemples
--------

Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification :


```js
var myNotification = "my-notification";

function toggleAlarm(all) {
  if (myNotification in all) {
    browser.notifications.clear(myNotification);
  } else {
    browser.notifications.create(myNotification, {
      type: "basic",
      iconUrl: browser.extension.getURL("icons/cake-48.png"),
      title: "Am imposing title",
      message: "Some interesting content",
    });
  }
}

function handleClick() {
  var gettingAll = browser.notifications.getAll();
  gettingAll.then(toggleAlarm);
}

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


**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.
notifications.getAll()
======================

Obtient toutes les notifications actuellement actives créées par l'extension.

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

Syntaxe
-------


```js
var gettingAll = browser.notifications.getAll();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui sera accomplie avec un objet. Chaque notification actuellement active est une propriété de cet objet : le nom de la propriété est l'ID de la notification et la valeur de la propriété est un objet `notifications.NotificationOptions` décrivant cette notification.

Notez que vous pouvez définir explicitement un ID pour une notification en le passant dans `notifications.create()`. Si vous ne le faites pas, le navigateur en générera un. Les ID spécifiés explicitement sont des chaînes, mais les ID générés sont des nombres.

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

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

Exemples
--------

Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification. Il utilise getAll() pour déterminer si la notification est affichée :


```js
var myNotification = "my-notification";

function toggleAlarm(all) {
  let ids = Object.keys(all);
  if (ids.indexOf(myNotification) != -1) {
    browser.notifications.clear(myNotification);
  } else {
    console.log("showing");

    browser.notifications.create(myNotification, {
      type: "basic",
      title: "Am imposing title",
      message: "Some interesting content",
    });
  }
}

function handleClick() {
  console.log("clicked");
  browser.notifications.getAll().then(toggleAlarm);
}

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


Cet exemple enregistre le titre de toutes les notifications actives :


```js
function logNotifications(all) {
  for (let id in all) {
    console.log(`Title: ${all[id].title}`);
  }
}

browser.notifications.getAll().then(logNotifications);
```


**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.
notifications.onClicked
=======================

Lancé lorsque l'utilisateur clique sur une notification, mais pas sur l'un des boutons de la notification (pour cela, voir `notifications.onButtonClicked`).

Syntaxe
-------


```js
browser.notifications.onClicked.addListener(listener);
browser.notifications.onClicked.removeListener(listener);
browser.notifications.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 :

`notificationId`

`string`. ID de la notification sur laquelle l'utilisateur a cliqué.


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.onClicked` pour écouter les notifications système en cours de clic. Lorsque cela se produit, nous enregistrons un message approprié à la console.


```js
browser.notifications.onClicked.addListener(function (notificationId) {
  console.log("Notification " + notificationId + " was clicked by the user");
});
```


**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.