是否可以在不让浏览器转到该页面的情况下更改浏览器地址栏中显示的 URL?例如,在通过 AJAX 调用更新页面内容之后?
我的理解是这是不可能的,这就是为什么像 twitter 和 facebook 这样的网站会在 ajax 调用上更新哈希标签。
直到今天,当我继续 http://8tracks.com/并开始使用右侧的过滤器...打开和关闭不同的流派,我注意到即使它正在执行 ajax 调用来刷新页面上的内容,URL 也在动态更新。
有人知道他们是怎么做到的吗?
(另外,我目前正在使用 Chrome,但是当我回过头来再次查看 IE9 时,我注意到 URL 没有更新。这可能是 Chrome 独有的吗?)
最佳答案
这在现代浏览器中可以通过使用 HTML5 History API 实现:
history.pushState(null, null, '/some-path')
这适用于 Firefox、Chrome、Opera、Safari(不适用于 IE)。
关于jquery - 在不重新加载页面的情况下更新浏览器的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077264/