我喜欢 facebook 在图像之间滚动时更改浏览器地址栏 URL 的方式,以及它在 IE7 上的工作方式。但是,我只找到了有关如何在 HTML5 浏览器上执行此操作的信息,并且我想支持 IE7。
由于这是一个 HTML5 解决方案,因此如下:
window.history.pushState("object or string", "Title", "/new-url");
如果有其他可用的解决方案,则不是一个选项。
EDIT
在任何哈希之前。
但有吗?
我知道的唯一其他选择涉及使用#hash
片段使用以下方法确定页面的“url”或“状态”hashchange
IE7不支持的事件:
http://caniuse.com/#search=hashchange http://caniuse.com/#search=hashchange
然而,有polyfills:
http://benalman.com/projects/jquery-hashchange-plugin/ http://benalman.com/projects/jquery-hashchange-plugin/
这是一种相当 hacky 的方法,它破坏了 HTTP 协议,因为它relies在 javascript 上输出正确的内容,但你可能不关心这一点:
http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs
History.js
声称支持跨浏览器,尽管我没有使用过它(对于 HTML5 浏览器使用历史记录,对于旧浏览器使用 hashchange):
https://github.com/browserstate/History.js/ https://github.com/browserstate/History.js/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)