我正在尝试在刷新时重置浏览器滚动位置,显然它在现代浏览器中不起作用或不可能,我错了吗?
代码:
$(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/