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 |
Are you intimidated by Git? Can’t figure out
merge vs rebase? Are you afraid of screwing up
something any time you have to do something in
Git? Do you rely on ChatGPT or random people’s
answer on StackOverflow to fix your problems?
Your coworkers are tired of explaining Git to
you all the time? Git is something we all need
to use, but few of us really master it. I
created this course to improve your Git (and
GitHub) knowledge at a radical level. Launching
May 21, 2024. Join the waiting list!