更新浏览器的URL而不重新加载页面

9
是否可以在浏览器地址栏中更改URL而不让浏览器前往该页面呢?例如,在通过AJAX调用更新页面内容后。

据我所知,这是不可能的,这就是为什么像Twitter和Facebook这样的网站会在AJAX调用时更新哈希标记。

直到今天,当我登录http://8tracks.com/并开始使用右侧的过滤器时,尝试打开或关闭不同类型的音乐,我注意到即使它使用AJAX调用来刷新页面上的内容,URL也正在动态更新。

有人知道他们是如何做到这一点的吗?

(顺便说一句,我当前使用的是Chrome浏览器,但当我回头再用IE9查看时,我注意到URL没有被更新..这可能只是Chrome浏览器的事情吗?)

2个回答

21

HTML5历史记录API是正确/唯一的方法。您可以查看https://github.com/balupton/history.js/wiki/Intelligent-State-Handling以获取背景文章,该文章解释了哈希到哈希bang再到HTML5历史记录API的演变过程。 - balupton

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接