chrome下关于window.location.hash的bug
好吧,这次又是chrome。虽然这个浏览器很迅捷,但是总是有些奇怪的小bug,让人不爽。
废话不多说,直接看例子(请用chrome 5+以上版本打开链接):
代码主要使用了下面一句话,通过更改window.location.hash来使页面定位到相应的位置:
<a href=”javascript:void(0);” onclick=”window.location.hash=’bbb’;”>bbb</a>
重现bug的操作如下:点击某个链接(如bbb)跳转至锚点所在位置,然后回到最上面,再点击同一个链接(bbb),发现不会再次跳转,而此bug在其他浏览器下均未发现。
没有查到相关的资料,分析:chrome在地址栏已经存在相同的hash值时不会进行跳转锚点的动作。
我们可以通过强制页面锚点跳转来解决这个问题,解决方案是:在window.location.hash=’bbb’;后加上一句window.location=window.location;用于触发锚点跳转的动作。
相关日志
这篇文章由 afc163 发表于2010-7-29 17:29:18
原文地址 http://www.ilovespringna.com/?p=34281
有必要的话,你可以 收藏/分享 一下
更多afc163的文章»