加载文档后,某些东西正在滚动回 0,0

Something is scrolling back to 0,0 after document loaded

我有这个 JS 可以滚动到页面加载时的特定位置(对于 Rails 使用 Turbolinks,是在 Turbolinks 加载):

document.addEventListener("turbolinks:load", function() {
  window.scrollTo(240,1);
});

但是当我加载一个页面时,它会在 240,1 加载一瞬间,然后突然回到 0,0

有谁知道是什么导致延迟滚动到 0,0

我也试过用"page:load""ready"替换"turbolinks:load",它们也不行。

可能相关的事情:

尝试history.scrollRestoration = 'manual';。它应该可以防止页面滚动回之前的位置。

将此脚本添加到开发工具控制台

window.onscroll = function (e) {  
  console.log("Window scrolled");
} 

现在添加断点并检查调用堆栈,如下图所示。
这将向您展示正在改变 window 滚动条的所有函数。
注意,如果你自己滚动页面,这个函数也会被执行。


希望对你有帮助!!