The History.state
property returns a value representing the state at the top of the history stack. This is a way to look at the state without having to wait for a popstate
event.
Syntax
const currentState = history.state
Value
The state at the top of the history stack. The value is null
until the pushState()
or replaceState()
method is used.
Examples
The code below logs the value of history.state
before using the pushState()
method to push a value to the history. The next line logs the value to the console again, showing that history.state
now has a value.
// Should be null because we haven't modified the history stack yet
console.log(`History.state before pushState: ${history.state}`);
// Now push something on the stack
history.pushState({name: 'Example'}, "pushState example", 'page3.html');
// Now state has a value.
console.log(`History.state after pushState: ${history.state}`);
SpecificationsE
Specification | Status | Comment |
HTML Living StandardThe definition of 'History.state' in that specification. | Living Standard | |
HTML5The definition of 'History.state' in that specification. | Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
state
|
Chrome
Full support Yes |
Edge
Full support 12 |
Firefox
Full support Yes |
IE
Full support 10 |
Opera
Full support Yes |
Safari
Full support Yes |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
Full support Yes |
Opera Android
Full support Yes |
Safari iOS
Full support Yes |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
See also
History.state by Mozilla Contributors is licensed under CC-BY-SA 2.5.