是否可以更改浏览器地址栏中显示的URL,而无需浏览器转到该页面?例如,在通过AJAX调用更新页面内容之后?在不重新加载页面的情况下更新浏览器的网址
我的理解是,这是不可能的,这就是为什么像twitter和facebook这样的网站更新ajax调用上的哈希标记。
直到今天,当我继续http://8tracks.com/并开始玩右手边的过滤器...打开和关闭不同的流派,我注意到即使它正在进行ajax调用来刷新内容在页面上,该URL也被动态更新。
有谁知道他们是如何做到这一点的?
(不谈,我目前使用的浏览器,但是当我回去,并与IE9看了一遍,我注意到URL没有被更新。是这个也许Chrome的唯一的事?)
+1了这个答案。 HTML5 History API是正确/唯一的方法。对于背景文章,您可以查看https://github.com/balupton/history.js/wiki/Intelligent-State-Handling,它解释了散列到hash5到历史记录API的演变。 – balupton