Синтаксическая прокрутка страницы вверху страницы при обновлении страницы в HTML

Я создаю веб-сайт, который я публикую с помощью div s. Когда я обновляю страницу после ее прокрутки до положения X, страница загружается в положение прокрутки в виде X.

Как заставить страницу прокручиваться вверху страницы на странице?

  • Я могу думать о том, что некоторые JS или jQuery выполняются как onLoad() на странице SET, страницы прокручиваются вверх. Но я не знаю, как это сделать.

  • Лучшим вариантом было бы, если есть какое-то свойство или что-то, чтобы страница была загружена с ее положением прокрутки по умолчанию (т.е. вверху), которая будет напоминать загрузку страницы, а не обновлять страницу.

Ответ 1

Вы можете сделать это с помощью метода scrollTop на DOM ready:

$(document).ready(function(){
    $(this).scrollTop(0);
});

Ответ 2

Для простой реализации JavaScript:

window.onbeforeunload = function () {
  window.scrollTo(0, 0);
}

Ответ 3

Ответ здесь не работает для сафари, document.ready часто запускается слишком рано.

Должно использовать событие beforeunload, которое мешает вам создавать некоторые setTimeout

$(window).on('beforeunload', function(){
  $(window).scrollTop(0);
});

Ответ 4

Опять же, лучший ответ:

window.onbeforeunload = function () { window.scrollTo(0,0);

(это для не-jQuery, посмотрите, если вы ищете метод JQ)

EDIT: небольшая ошибка его "onbeforunload":) Chrome и другие браузеры "помнят" последнюю позицию прокрутки перед разгрузкой, поэтому, если вы установите значение 0,0 только для выгрузки своей страницы, они будут помнить 0,0 и не будут прокручивать назад до того места, где была полоса прокрутки: )

Ответ 5

Проверьте функцию jQuery .scrollTop() здесь

Он выглядел бы как

$(document).load().scrollTop(0);

Ответ 6

Вы также можете попробовать

$(document).ready(function(){
    $(window).scrollTop(0);
});

Если вы хотите прокрутить в позиции x, чем вы можете изменить значение от 0 до x.

Ответ 7

Вместо location.reload() просто используйте location.href = location.href. Он не будет прокручиваться до предыдущей позиции, как это делает location.reload().

Примечание. Это не будет перезагружаться, если в URL есть какой-либо символ

Ответ 8

<script> location.hash = (location.hash) ? location.hash : " "; </script>

Поместите вышеуказанный script в тег <head> вашего html. Не знаете, как работают одни страницы! Но уверенный работает как чары на обычных страницах.

Ответ 9

Ответ здесь (прокрутка в $(document).ready) не работает, если на странице есть видео. В этом случае страница прокручивается после запуска этого события, переопределяя нашу работу.

Лучший ответ:

$(window).on('beforeunload', function(){
    $(window).scrollTop(0);
});

Ответ 10

$(document).ready(function(){
    $(window).scrollTop(0);
});

не работал у меня, так как Google Chrome просто прокручивал назад после завершения загрузки страницы. Я использовал

$(document).ready(function() {
    var url = window.location.href;
    console.log(url);
    if( url.indexOf('#') < 0 ) {
        window.location.replace(url + "#");
    } else {
        window.location.replace(url);
    }
});

//Это загружает страницу С# в конце. Поэтому он всегда будет загружаться вверху.

Ответ 11

Сверхкалифрагистическая особенность -

добавьте это в начало своего js файла или тега

document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera

document.body.scrollTop = 0; // For Safari