'How to create / update broswer history ( not session history ) without actual page navigation / reload

I had seen npmjs.com, animixplay.to, Heroku and other sites that they load new pages using ajax without any reload and it also create a new history entry in the browser history ( not in session history )

I know how to do a similar thing with history.pushState but it change the session history not the browser history. This method does not creates a new entry in browser's history like those sites...

So i wanna know how to create a new entry in browser's history ( not the session history ) without reloading ( or by dynamically loading ) the page

Do they use service workers ?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source