JavaScript:使用后退按钮时阻止浏览器恢复滚动位置

jon*_*hue 1 javascript firefox google-chrome back browser-history

我在网站上添加了一些页面转换.现在,只要有人点击浏览器后退按钮,将其重定向到他以前的网站,他在该页面上的滚动位置就会自动恢复.如果用户在上一页上向下滚动,则此行为会导致当前窗口中的页面跳转不到一秒,然后才会淡出.

1)我能否延迟此默认浏览器行为?

2)如果1不可能,我是否可以禁用默认行为并手动存储和恢复滚动位置?

moo*_*ard 9

虽然是实验性的,你可以尝试调整的历史scrollRestoration"auto""manual".

有一些polyfills可以帮助提高跨浏览器的兼容性.

if ('scrollRestoration' in history) {
  // Back off, browser, I got this...
  history.scrollRestoration = 'manual';
}
Run Code Online (Sandbox Code Playgroud)