Navigation : méthode updateCurrentEntry()
Baseline 2026>
Nouvellement disponible
Depuis janvier 2026, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La méthode updateCurrentEntry() de l'interface Navigation met à jour le state de la currentEntry ; utilisée dans les cas où le changement d'état est indépendant d'une navigation ou d'un rechargement.
Syntaxe
updateCurrentEntry(options)
Paramètres
options-
Un objet options contenant les propriétés suivantes :
state-
L'information définie par le·la développeur·euse à stocker dans le
NavigationHistoryEntryassocié une fois la navigation terminée, récupérable avecgetState(). Ça peut être de n'importe quel type de données. Vous pouvez, par exemple, souhaiter stocker le nombre de visites d'une page à des fins d'analyse, ou stocker les détails de l'état de l'interface utilisateur afin que la vue puisse être affichée exactement comme l'utilisateur·ice l'a laissée. Toutes les données stockées dansstatedoivent être structurées et clonables.
Valeur de retour
Aucune (undefined).
Exceptions
DataCloneErrorDOMException-
Levée si le paramètre
statecontient des valeurs qui ne sont pas clonables selon l'algorithme de clonage structuré. InvalidStateErrorDOMException-
Levée si la valeur de
Navigation.currentEntryestnull, c'est-à-dire qu'il n'y a pas d'entrée d'historique actuelle. Cela peut se produire, par exemple, si la page actuelle estabout:blank.
Exemples
Vous pouvez utiliser quelque chose comme ce qui suit pour mettre à jour l'état ouvert/fermé d'un élément <details> afin que l'état puisse être restauré lors du rechargement de la page ou du retour depuis un autre endroit.
detailsElem.addEventListener("toggle", () => {
navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});
Spécifications
| Spécification |
|---|
| HTML> # dom-navigation-updatecurrententry-dev> |