在OSX谷歌浏览器刷新页面(Google Chrome page reloading on OSX)

2019-09-28 08:16发布

我遇到非常奇怪的谷歌浏览器的行为。

在我的JavaScript我有上滚动到特定的部分页面加载scrollTo。

该代码也很简单:

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

但问题是,当滚动页面谷歌浏览器重新加载页面和JavaScript没有被再次发射。

也许有人遇到之前,有一个解决方案或一个想法,为什么这是怎么回事?

谢谢!

PS忘了给一个活生生的例子(不带如广告) - csspandemic.com

PPS作为人建议它在Windows上工作正常,只有在OSX发生。 (我改了称呼。)

Answer 1:

看起来像它在浏览器的错误: http://crbug.com/61674 。 Chrome浏览器是不是重新加载页面 - 这是恢复滚动位置到它是加载页面的最后一次。 如果您滚动到页面中的不同位置,然后刷新,你会看到,将跳转到该最后一个位置; 反之,如果您加载网页在隐身模式下,它工作得很好,因为没有任何缓存滚动位置。

不幸的是,我不知道一个很好的办法解决这个的。 我想,企图无效缓存滚动位置改变的location.hash,但无济于事。



文章来源: Google Chrome page reloading on OSX