NavigationHistoryEntry: getState() 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 getState() method of the NavigationHistoryEntry interface returns a clone of the developer-supplied state associated with this history entry.
Syntax
js
getState()
Parameters
None.
Return value
A value representing the state. This can be any structured-cloneable data type.
If no state is defined or if current document is not fully active, it returns undefined.
Exceptions
None.
Examples
js
async function handleReload() {
// Update existing state via reload()
await navigation.reload({
state: { ...navigation.currentEntry.getState(), newState: 3 },
});
// Print current state to the console
const current = navigation.currentEntry;
console.log(current.getState());
}
Specifications
| Specification |
|---|
| HTML> # dom-navigationhistoryentry-getstate-dev> |
Browser compatibility
See also
- Modern client-side routing: the Navigation API
- Navigation API explainer
- Methods that allow state to be updated —
Navigation.navigate(),Navigation.reload(), andNavigation.updateCurrentEntry()