我喜欢Facebook在滚动图片时更改浏览器地址栏的URL,并且它在IE7上运行的方式。然而,我只发现了如何在HTML5浏览器上实现它的信息,而我想支持IE7。
由于这是一个HTML5解决方案,因此需要以下操作:
window.history.pushState("object or string", "Title", "/new-url");
如果有其他可行的解决方案,就不要选择“is not an option”。
编辑
在任何哈希之前。
但是,真的存在吗?
我喜欢Facebook在滚动图片时更改浏览器地址栏的URL,并且它在IE7上运行的方式。然而,我只发现了如何在HTML5浏览器上实现它的信息,而我想支持IE7。
由于这是一个HTML5解决方案,因此需要以下操作:
window.history.pushState("object or string", "Title", "/new-url");
如果有其他可行的解决方案,就不要选择“is not an option”。
编辑
在任何哈希之前。
但是,真的存在吗?
#hash
片段来确定页面的“url”或“状态”,并使用hashchange
事件,但它不支持IE7:http://caniuse.com/#search=hashchange。然而,有一些polyfills可以解决这个问题:http://benalman.com/projects/jquery-hashchange-plugin/。这是一个相当hacky的方法,并且它破坏了HTTP协议,因为它依赖于JavaScript输出正确的内容,但您可能不会在意这个:http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs。History.js
声称具有跨浏览器支持,尽管我没有使用过它(对HTML5浏览器使用history,对旧版浏览器使用hashchange):https://github.com/browserstate/History.js/。example.com/posts/post1#!posts/post2
这样结束...它确实存在很多问题。基本上,“实际URL”通常是整个哈希片段。 - Wesley Murch