我在网站上添加了一些页面转换。现在,只要有人点击浏览器后退按钮,将其重定向到他以前的网站,他在该页面上的滚动位置就会自动恢复。如果用户在上一页向下滚动,则此行为会导致当前窗口中的页面跳转不到一秒,然后才会淡出。
1)我能否延迟此默认浏览器行为?
2)如果无法1,我可以禁用默认行为并存储&手动恢复滚动位置?
答案 0 :(得分:8)
虽然它是实验性的,但您可以尝试将History scrollRestoration从"auto"
调整为"manual"
。
还有一些polyfills out可以帮助提高跨浏览器的兼容性。
if ('scrollRestoration' in history) {
// Back off, browser, I got this...
history.scrollRestoration = 'manual';
}