我喜欢facebook在图像之间滚动时更改浏览器地址栏的URL的方式,以及它在IE7上的工作方式。但是,我只是在HTML5浏览器上找到了有关如何操作的信息,我想支持IE7。
由于这是一个HTML5解决方案,所以:
window.history.pushState("object or string", "Title", "/new-url");
如果有另一种解决方案,不是一种选择。
编辑
在任何哈希之前。
但是有吗?
答案 0 :(得分:5)
我知道的唯一其他选项涉及使用#hash
片段来确定使用hashchange
事件的页面的“url”或“状态”,这在IE7中是不受支持的:
http://caniuse.com/#search=hashchange
然而,有polyfill:
http://benalman.com/projects/jquery-hashchange-plugin/
这是一个相当hacky的方法,它打破了HTTP协议,因为它依赖在javascript上输出正确的内容,但你可能不在乎:
http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs
History.js
声称跨浏览器支持,虽然我没有使用它(使用HTML5浏览器的历史记录,旧版本的hashchange):