webNavigation.onHistoryStateUpdated
===================================

Lancé lorsque la page a utilisé l'API history pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur. Tous les événements futurs de ce cadre utiliseront l'URL mise à jour.

Syntaxe
-------


```js
browser.webNavigation.onHistoryStateUpdated.addListener(
  listener, // function
  filter, // optional object
);
browser.webNavigation.onHistoryStateUpdated.removeListener(listener);
browser.webNavigation.onHistoryStateUpdated.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 `tableau` 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 un 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 est sur le point de se produire.

`url`

`string`. L'URL à laquelle le cadre donné va naviguer.

`processId`

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

`frameId`

`integer`. Frame dans lequel la navigation aura lieu. 0 indique que la navigation se déroule 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 se déroule dans un iframe imbriqué. Les ID de *frames* sont uniques pour un onglet et un processus donnés.

`timeStamp`

`number`. L'heure à laquelle la navigation a été validée, en millisecondes depuis l'origine.

`transitionType`

``transitionType``.La raison de la navigation: par exemple, `"link"` si l'utilisateur a cliqué sur un lien.

`transitionQualifiers`

`Array` de ``transitionQualifier``. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.

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

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

Examples
--------

Logs les URL cibles et les informations de transition supplémentaires pour `onHistoryStateUpdated`, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".


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

function logOnHistoryStateUpdated(details) {
  console.log("onHistoryStateUpdated: " + details.url);
  console.log("Transition type: " + details.transitionType);
  console.log("Transition qualifiers: " + details.transitionQualifiers);
}

browser.webNavigation.onHistoryStateUpdated.addListener(
  logOnHistoryStateUpdated,
  filter,
);
```


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