微信公众号
扫描关注微信公众号
博客大厅

如何实现页面刷新后不定位到之前的滚动位置

转载 来源:博客站 阅读 0 01月16日 17:01 听全文

一、浏览器默认行为

无论是哪个浏览器,都有这样一个体验细节。

那就是,如果浏览器不是强制刷新(Ctrl + F5),而是普通刷新(点击刷新按钮,或者按下 F5 刷新),则页面重新载入完毕后大概率会调到之前访问的位置。

大多数时候,这种体验对用户是友好的。

但是,实际开发中,我们总会存在不希望用户刷新记住之前滚动位置的情况。

这个时候该怎么办呢?

曾几何时,我是在页面 load 完毕之后,在足够安全的时间之后设置页面的 scrollTop 为 0。

二、history.scrollRestoration

使用很简单,在页面的任意位置执行下面几行 JS 代码就可以了

if (history.scrollRestoration) {
  history.scrollRestoration = 'manual';
}

三、语法和兼容性

history.scrollRestoration 支持下面两个属性值:

auto 默认值,表示滚动位置会被存储。

manual单词的意思就是手动。表示,滚动的位置不会被存储。

兼容性

兼容性很不错,现代浏览器很早就支持了,移动端放心使用(IE不支持)

学在每日,进无止境!更多精彩内容请关注微信公众号。
原文出处: https://www.cqhxb.com/article/77.html?_refluxos=a10
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。
轻松 一刻
>