我正在尝试在刷新时重置浏览器滚动位置,但显然这在现代浏览器中不起作用或无法实现,
代码:
$(window).on('beforeunload', function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top); });
也许我处理不正确,还有另一种方法可以实现?
我尝试了此代码的所有变体和可能的选项,但是它不适用于Safari和Chrome(无论是在台式机上,还是在移动设备上)。
答案 0 :(得分:0)
如果您希望页面在重新加载时移至某个元素,则预期的行为是在页面加载后将其移至该点。如果您试图在页面加载之前将其移动,则将不知道必须滚动到的页面;如果您试图在卸载页面时将其移动,则不能保证该点在重新加载后将被保存。
您可能可以在卸载时将滚动位置保存到localStorage并尝试在位置加载时加载位置,但是在这种情况下,我建议您仅在页面加载时移动。
$(document).ready(function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top);
});