Перезагрузка страницы с правильной позицией прокрутки - PullRequest
0 голосов
/ 06 июня 2019

Я хочу перезагрузить веб-страницу в ту же позицию прокрутки, используя

document.location.reload();

Работает как чудо во всех браузерах, кроме Edge.Edge обновляется до верхней части страницы.

Пример кода:

<html>
<head>
    <style>
        body { padding-top: 150%; }
    </style>
    <script> 
    function locationreload() { 
        document.location.reload(); 
        } 
    </script> 
</head>
<body>
    <button onclick="locationreload()" >
        Reload
    </button>
</body>

Как это исправить?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

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

function locationreload() { 
    window.localStorage.setItem('position', window.pageYOffset);
    window.pageYOffset = window.localStorage.getItem('position');
} 
0 голосов
/ 06 июня 2019

Вы можете сохранить scrollTop страницы в localStorage и прокрутить до этой позиции при перезагрузке окна.

...