Today I found an easy solution for the problem that if you’re changing the URL of the current window with JavaScript in the traditonal way, unfortenately the whole page will be reloaded.
window.location = "http://peter-doering.com/mynewurl"
You may want to update the URL after you’ve updated parts of the page with an Ajax call. This would enable the users to share the current page as link or to add an bookmark.
HTML5 introduced a new API for manipulating the browsers history. You can use the pushState()-method to change the current page url without page reload.
history.pushState(null, null, "http://peter-doering.com/mynewurl")
history.pushState(null, null, "http://peter-doering.com?id=1234")