Navigation: updateCurrentEntry() method
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()
updateCurrentEntry(options)
Parameters
options
Optional
-
An options object containing the following properties:
-
state
-
Developer-defined information to be stored in the associated NavigationHistoryEntry
once the navigation is complete, retrievable via getState()
. 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 in state
must be structured-cloneable.
Return value
Exceptions
DataCloneError
DOMException
-
Thrown if the state
parameter had values included in it that are not structured-cloneable.
InvalidStateError
DOMException
-
Thrown if the Navigation.currentEntry
is null
, i.e. there is no current history entry. This could occur for example if the current page is about: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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
updateCurrentEntry |
102 |
102 |
No |
No |
88 |
No |
102 |
102 |
No |
70 |
No |
19.0 |
See also