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

标签 javascript google-chrome firefox back browser-history

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

1) 我可以延迟此默认浏览器行为吗?

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

最佳答案

虽然它是实验性的,但您可以尝试调整 History scrollRestoration“自动”“手动”

有几个polyfills out也有助于跨浏览器的兼容性。

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

关于JavaScript:防止浏览器在使用后退按钮时恢复滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48308390/

相关文章:

javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null- when setting the innerhtml to a string from an array

javascript - 如果它是事件处理程序,如何查找 Javascript 函数?

http - 有什么方法可以保存并重新发送 HTTP 请求吗?

Javascript for 循环条件

javascript - TouchableHighlight underlayColor 不起作用。颜色只是不改变

javascript - 退出先前操作中残留的按键事件

javascript - Chrome 扩展程序 : Remove body attributes from content script

特定于浏览器的 CSS 样式

css - 使用 CSS 设置特定字体

c# - Firefox 中的 Google map Api 共享位置问题