Сброс позиции прокрутки при обновлении страницы, не работает в современных браузерах
Я пытаюсь сбросить позицию прокрутки браузера при обновлении, и, видимо, это не работает или не возможно в современных браузерах, я не прав?
Код:
$(window).on('beforeunload', function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top); });
Может быть, я неправильно с этим справляюсь и есть другой способ добиться этого?
Я перепробовал все варианты и возможные варианты этого кода, но он не работал в Safari и Chrome (как на настольном компьютере, так и, особенно, на мобильном).
1 ответ
Если вы хотите, чтобы страница переместилась на определенный элемент при перезагрузке, ожидаемое поведение - переместить страницу к этой точке после ее загрузки. Если вы попытались переместить страницу до того, как она была загружена, вы не будете знать, куда вам нужно перейти, и если вы попытались переместить ее при выгрузке, это не гарантирует, что эта точка будет сохранена после ее перезагрузки.
Вы, вероятно, можете сохранить местоположение прокрутки в localStorage при выгрузке и попытаться загрузить это место, но в этом случае я бы порекомендовал просто переместить страницу при загрузке.
$(document).ready(function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top);
});