3

我喜欢 facebook 在图像之间滚动时更改浏览器地址栏 URL 的方式,以及它在 IE7 上的工作方式。但是,我只找到了有关如何在 HTML5 浏览器上执行此操作的信息,并且我想支持 IE7。

由于这是一个 HTML5 解决方案,因此如下:

window.history.pushState("object or string", "Title", "/new-url");

如果有其他解决方案可用,则不是一种选择。

编辑

在任何哈希之前。

但是有吗?

4

1 回答 1

5

我知道的唯一其他选项涉及使用#hash片段来确定使用事件的页面的“url”或“状态” hashchange,这在 IE7 中不受支持:

http://caniuse.com/#search=hashchange

但是,有 polyfills:

http://benalman.com/projects/jquery-hashchange-plugin/

这是一种相当老套的方法,它破坏了 HTTP 协议,因为它依赖于 javascript 来输出正确的内容,但你可能并不关心这一点:

http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs

History.js声称支持跨浏览器,尽管我没有使用它(HTML5 浏览器使用历史记录,旧浏览器使用 hashchange):

https://github.com/browserstate/History.js/

于 2012-12-17T18:32:25.567 回答