页面刷新时,Safari强制页面滚动位置顶部失败

问题描述 投票:2回答:1

我正在建立一个使用react实现的网站。首先,我们将页面滚动到底部或中间位置。然后我们点击iphone safari浏览器中的刷新按钮,页面奇怪地滚动到永久位置。我试图改变flex布局浮动布局并添加pageshow事件侦听器以使用设置scrollTop零

window.scrollTo(0,0)

。但页面仍停留在safari mobile的永久位置。

我猜问题是页面保存了最后一个视图的位置,但是当页面新鲜时,页面的内容没有完全显示,然后页面只能滚动到永久位置。最后,页面的其余部分show out.Pageshow事件已在页面滚动到永久位置之前触发。除了window.scroll之外,如何强制页面在页面刷新时滚动到顶部?如何解决Safari浏览器的这种奇怪行为?

scroll mobile-safari page-refresh
1个回答
1
投票

我和你在ios safari上使用react有同样的问题,我发现唯一固定的是在componentDidMount中使用setTimeout,但我真的不喜欢这个解决方案

componentDidMount() {
  setTimeout(() => {
        window.scrollTo(0, 0);
    }, 800); 
}

希望它会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.