javascript - 在页面刷新时重置滚动位置,在现代浏览器上不起作用

标签 javascript jquery css browser scroll-position

我正在尝试在刷新时重置浏览器滚动位置,显然它在现代浏览器中不起作用或不可能,我错了吗?

代码:

$(window).on('beforeunload', function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top); });

也许我处理不当,还有另一种方法可以实现吗?

我尝试了此代码的所有变体和可能的选项,但它在 Safari 和 Chrome 上不起作用(无论是在桌面上,还是在移动设备上)。

最佳答案

如果您希望页面在重新加载时移动到某个元素,预期的行为是在加载后将页面移动到该点。如果您在页面加载之前尝试移动页面,您将不知道必须滚动到哪里,如果您尝试在卸载时移动它,则不能保证在重新加载后该点会被保存。

您或许可以将滚动位置保存到 localStorage卸载并尝试加载位置 onload,但在这种情况下,我建议只移动页面 onload。

$(document).ready(function() {
  $('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top);
});

关于javascript - 在页面刷新时重置滚动位置,在现代浏览器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065554/

相关文章:

javascript - 删除全屏窗口装饰/边框 Chrome OS 应用程序/信息亭模式

javascript - 我有两个组件,我想通过第一个组件中的函数将属性更改为第二个组件

javascript - 如何在双击时附加和删除div

javascript - 在结束 div 上停止侧边栏

javascript - 正则表达式匹配用大括号包裹的单词

javascript - 使用 JW 播放器禁用嵌入式视频中的播放/暂停

c# - 如何编辑 ASP.NET MVC 中的单个字段?

javascript - 如何防止外部JS阻止你的网站加载?

javascript - 如何在 jQuery 中使用分号

html - 正确设置表中单元格的比例