可能重复:
How do I, with JavaScript, change the URL in the browser without loading the new page?
我注意到像GMail和GrooveShark这样的网络应用可以在不刷新页面的情况下更改浏览器地址栏中的URL。 Ajax显然用于更改内容。如何更改网址?
答案 0 :(得分:10)
Gmail和Grooveshark只更改哈希,这可以通过更改:
来完成location.hash = 'blah'
如果你定位支持HTML5的浏览器,你可以使用window.history.pushState和window.history.popState,参见http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page
答案 1 :(得分:5)
您可能希望了解HTML5推送状态。我知道iQuery Mobile正在使用此功能修改位置URL而不会触发页面加载,它可能是适合您的解决方案。
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
以下是其工作原理的示例:
window.history.pushState(data, "Title", "/new-url");