Здесь есть 2 проблемы. Я не знаю, что это может быть, потому что вы не дали много информации.
Причина № 1: HTML-якорные ссылки
Если в вашем заголовке есть идентификатор, например <h1 id="myinfo">Contact</h1>
, а URL-адрес выглядит примерно так: example.com/index.html#myinfo
, браузер автоматически прокрутит до якоря myinfo
Причина № 2:
Когда вы обновляете практически любой веб-сайт, браузер запоминает предыдущую позицию страницы, на которой вы были. Если вы были в разделе «Контакты», обновите страницу. Он вернется в ту же позицию.
Возможное исправление:
Если вы хотите принудительно вернуть страницу наверх, независимо от того, используется ли обновление или привязка. Попробуйте разместить этот скрипт непосредственно перед закрывающим тегом BODY
или в разделе HEAD
:
<script type="text/javascript">
window.onload = function() {
window.setTimeout(
function() { window.scrollTo(0,0); },
10
);
};
</script>
Значение window.setTimeout
важно, поскольку страница обновляется вверху, а затем прокручивается. Нам нужно отложить функцию, поэтому мы прокручиваем после того, как браузер делает.
Надеюсь, это поможет каким-то образом.
РЕДАКТИРОВАТЬ: 2018 / ноябрь / 16
Единственный улов здесь, если вам нужны ссылки для привязки HTML для перехода в разные места на странице. Якорные ссылки будут полностью игнорироваться.
Если вы отключите JavaScript, наш код не будет работать вообще. Вы можете использовать приведенный выше скрипт, чтобы скрыть страницу перед загрузкой контента, а затем показать ее после загрузки страницы, но это приведет к тому, что страница на секунду станет белой. Google использовал это, чтобы сделать это несколько лет назад, чтобы никто не мог видеть элементы на странице загрузки.
Этот сценарий необходимо размещать после тега BODY
, но перед основным содержимым. Он не будет работать, если он находится в HEAD
.
<body>
<script type="text/javascript">
<!--
document.body.style.display = "none";
// If onbeforeunload fails
window.onload = function() {
window.setTimeout(
function() {
window.scrollTo(0,0);
document.body.style.display = "inherit";
},
0
);
};
/* This should scroll the page to the top before the page refreshes */
window.onbeforeunload = function() { window.scrollTo(0,0); }
//-->
</script>
. . . { Your content here } . . .
Если JavaScript отключен, это решение не будет работать. У некоторых людей JavaScript отключен.
Нет другого способа заставить страницу вверх, извините.