This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The getState() method of the NavigationHistoryEntry interface returns a clone of the developer-supplied state associated with this history entry.
getState()
None.
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.
None.
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());
}
| Specification |
|---|
| HTML> # dom-navigationhistoryentry-getstate-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getState |
102 | 102 | No | 88 | No | 102 | No | 70 | No | 19.0 | 102 | No |
Navigation.navigate(), Navigation.reload(), and Navigation.updateCurrentEntry()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NavigationHistoryEntry/getState