【问题标题】:Google Chrome page reloading on OSX在 OSX 上重新加载 Google Chrome 页面
【发布时间】:2012-11-16 01:17:31
【问题描述】:

我遇到了非常奇怪的 Google Chrome 行为。

在我的 JavaScript 中,我在页面加载时滚动到特定部分。

代码很简单:

$('body').animate({ scrollTop: $('nav ul').position().top }, 1000);

但问题是,当它滚动页面时,谷歌浏览器会重新加载页面并且 JavaScript 不会再次触发。

也许有人以前遇到过这种情况并有解决方案或想法为什么会发生这种情况?

谢谢!

附:忘了举个活生生的例子(不要当做广告)-csspandemic.com

附言正如人们所建议的那样,它在 Windows 上运行良好,并且只在 OSX 上发生。 (我改了标题。)

【问题讨论】:

  • 适用于我的版本 23.0.1271.64 m (Win7)
  • 奇怪。我刚刚检查了 Windows,是的,它工作正常。但是按照我在 Mac OS 上的情况。

标签: javascript jquery macos google-chrome reload


【解决方案1】:

看起来这是 Chrome 中的一个错误:http://crbug.com/61674。 Chrome 不会重新加载页面——它会将滚动位置恢复到上次加载页面的位置。如果你滚动到页面中的不同位置然后刷新,你会看到跳转到了最后一个位置;相反,如果您在隐身模式下加载页面,它可以正常工作,因为没有任何缓存的滚动位置。

很遗憾,我不知道有什么好的解决方法。我尝试更改 location.hash 以使缓存的滚动位置无效,但无济于事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2013-06-23
    • 2013-07-31
    • 2016-10-20
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多