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 Standard The definition of 'History.state' in that specification. |
Living Standard | |
HTML5 The 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.
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