Using pushState()
you can create a new history entry programmatically. You pass 3 parameters.
The first is an object which can contain anything (there is a size limit however, and the object needs to be serializable).
The second parameter is currently unused by major browsers, so you generally pass an empty string.
The third parameter is a URL associated to the new state. Note that the URL needs to belong to the same origin domain of the current URL.
const state = { foo: 'bar' }
history.pushState(state, '', '/foo')
Calling this won’t change the content of the page, and does not cause any browser action like changing window.location
would.
Lessons in this unit:
0: | Introduction |
1: | Navigating the history |
2: | ▶︎ Add an entry to the history |
3: | Modify history entries |
4: | Access the current history entry state |
5: | The `popstate` event |
6: | The `hashchange` event |