Сброс позиции прокрутки при обновлении страницы, не работает в современных браузерах - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь сбросить позицию прокрутки браузера при обновлении, и, по-видимому, это не работает или невозможно в современных браузерах, я не прав?

код:

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

Может быть, я неправильно с этим справляюсь, и есть другой способ добиться этого?

Я перепробовал все варианты и возможные варианты этого кода, но он не работал в Safari и Chrome (как на настольном компьютере, так и, особенно, на мобильном).

1 Ответ

0 голосов
/ 28 августа 2018

Если вы хотите, чтобы страница переместилась на определенный элемент при перезагрузке, ожидаемое поведение - переместить страницу в эту точку после ее загрузки. Если вы попытались переместить страницу до того, как она была загружена, вы не будете знать, куда вам нужно перейти, и если вы попытались переместить ее при выгрузке, это не гарантирует, что эта точка будет сохранена после перезагрузки.

Вероятно, вы можете сохранить местоположение прокрутки в localStorage при выгрузке и попытаться загрузить расположение при загрузке, но в этом случае я бы порекомендовал просто переместить страницу при загрузке.

$(document).ready(function() {
  $('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...