Limited availability
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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.
updateCurrentEntry(options)
Parameters
options
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.
None (undefined
).
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
.
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 See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4