在Chrome中刷新window.location.hash吗?
|
我在网上进行了一些监听,发现“ 0”是一种广泛采用的更新浏览器位置的方法,而无需重新加载/刷新页面。我已将其应用于本示例,我已经做好了准备:http://dl.dropbox.com/u/1595444/locationExample/index.html
在Safari中效果很好,但是...
我注意到,在Chrome 10+中,更改
hash
:
有类似重新加载的内容。
当用户向下或向上滚动时,所产生的症状是打ic。
我的控制台输出被保留(如果您检查控制台,则输出项目字符串)。
网站图标似乎正在重新加载。
有人遇到过这个问题吗?知道解决办法吗?
没有找到相关结果
已邀请:
3 个回复
镰茧钩
,但哈希更改是 在相同的代码路径上)。 滚动时会稍有打h,这是因为Chrome浏览器会考虑将哈希值更改视为生成新的URL,因此会进行整页的重新绘制和高质量的缩放比例来更新页面缩略图。这也是一个错误。您可以在检查器的时间轴视图中看到这一点,大多数滚动事件都会导致重新绘制窗口宽度x一些小的高度,但是偶尔会进行全窗口重新绘制。这篇博客文章还有更多细节。 两者的解决方法是将哈希的更新推迟到用户完成滚动为止(您仍然可以立即更新当前项下方显示的白条)。您可以通过执行以下操作来做到这一点:
由于您似乎正在使用jQuery,因此有一些反跳插件可能会有所帮助。
绊伦欧
倾坞髓
为我工作。实际上,我花了很长时间才弄清楚这一点。 Firefox现在也支持“ 5”对象,因此几年后我们也许可以摆脱整个“哈希”对象。 编辑:是的,重新加载的东西是Chrome错误。