是否可以更改浏览器地址栏中显示的网址而无需浏览器转到该页面?例如,在通过AJAX调用更新页面内容之后?
我的理解是这是不可能的,这就是为什么像twitter和facebook这样的网站更新ajax调用的hash-tag。
直到今天,当我继续http://8tracks.com/并开始使用右侧的过滤器...打开和关闭不同类型时,我注意到即使它正在执行ajax调用刷新页面上的内容,URL也在动态更新。
有谁知道他们是怎么做到的?
(除此之外,我目前正在使用Chrome,但当我回过头来再次使用IE9时,我注意到该网址未被更新..这可能只是Chrome浏览器吗?)
答案 0 :(得分:22)
在现代浏览器中,可以使用HTML5 History API:
history.pushState(null, null, '/some-path')
适用于Firefox,Chrome,Opera,Safari(非IE)。
答案 1 :(得分:0)
您也可以使用Jquery历史插件。这也将支持html4浏览器。
这是另一个提供更多选项的问题:jQuery History Plugin