Navigation: updateCurrentEntry() method
Baseline
2026
Newly available
Since January 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The updateCurrentEntry() method of the Navigation interface updates the state of the currentEntry; used in cases where the state change will be independent of a navigation or reload.
Syntax
updateCurrentEntry(options)
Parameters
options-
An options object containing the following properties:
state-
Developer-defined information to be stored in the associated
NavigationHistoryEntryonce the navigation is complete, retrievable viagetState(). This can be any data type. You might, for example, wish to store a page visit count for analytics purposes, or store UI state details so the view can be shown exactly as the user last left it. Any data stored instatemust be structured-cloneable.
Return value
None (undefined).
Exceptions
DataCloneErrorDOMException-
Thrown if the
stateparameter had values included in it that are not structured-cloneable. InvalidStateErrorDOMException-
Thrown if the
Navigation.currentEntryisnull, i.e., there is no current history entry. This could occur for example if the current page isabout:blank.
Examples
You could use something like the following to update the open/closed state of a <details> element so that the state can be restored when reloading the page or navigating back from somewhere else.
detailsElem.addEventListener("toggle", () => {
navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});
Specifications
| Specification |
|---|
| HTML> # dom-navigation-updatecurrententry-dev> |