我在谷歌浏览器控制台运行了这段代码,但是没能滚动到之前的位置,是什么原因呢
时间: 2024-03-09 22:45:18 浏览: 110
基于C#实现的一个简单的C#脚本解释器,可以将完整的C#脚本代码运行在控制台
可能是因为获取原页面滚动位置的方式不对。在控制台中运行代码时,此时窗口已经被打开,原页面的滚动位置已经变成了控制台的滚动位置,而不是原页面的滚动位置了。
你可以尝试在原页面中添加一个按钮,绑定一个点击事件,在事件中执行保持滚动位置的逻辑,这样可以保证获取到的滚动位置是原页面的滚动位置。具体代码如下:
```
// 添加按钮
var btn = document.createElement('button');
btn.innerText = '刷新并保持滚动位置';
btn.onclick = function() {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
location.reload();
window.onload = function() {
document.documentElement.scrollTop = document.body.scrollTop = scrollTop;
}
}
document.body.appendChild(btn);
```
将上面的代码复制到控制台中执行,即可在页面中添加一个按钮。点击按钮后,页面将会刷新,并保持原先的滚动位置。
阅读全文