Go to any GitHub page and click on any of the directories/files and observe how the URL changes but only part of the page is updated. There\'s no whole page reloading.
H
They use the history API, or specifically, history.pushState().
You can use this, jQuery is not required, but there are plugins such as history.js.
This works on most browsers, namely Chrome, Safari and Firefox. IE10 and above supports this. In older IEs, you can fall back onto using the hash (window.location.hash
).
GitHub also blogged about this.