Мне нужно вызвать перезагрузку страницы через JS, сохраняя положение вертикальной прокрутки.
Я использую решение, описанное в другом вопросе SO:
- Вычислить текущую позицию прокрутки
- Добавьте текущую позицию в качестве аргумента строки запроса, затем перенаправьте
- Когда страница перезагрузится, прочитайте значение из строки запроса и отрегулируйте положение прокрутки.
Однако я хочу восстановить положение прокрутки только при ПЕРВОЙ переадресации. Если пользователь прокручивает страницу, а затем запускает ручную перезагрузку с помощью Ctrl-R, я НЕ хочу повторно прокручивать до этой сохраненной позиции.
Есть ли способ передать одноразовое значение, видимое только для следующего запроса, используя ТОЛЬКО JavaScript? Или удалить значение из document.location.href
без перенаправления?
Должен ли я использовать API истории HTML 5, чтобы «очистить» значение позиции после того, как я его использовал?