Когда размер страницы превосходит некоторый предел, разработчики часто ставят внизу текстовую или графическую ссылку «вверх страницы». Эта ссылка позволяет быстро перейти в начало страницы, что иногда бывает очень удобно.
Классически подобная ссылка верстается так:
…
много-много текста
…
<a href=»#top»>вверх страницы</a>
Недостатком этого метода является то, что необходимо какой-то элемент вверху страницы поместить в якорь (<a name=»top»>), так как некоторые браузеры не понимают пустые якоря. Кроме того, при переходе к якорю в Internet Explorer исчезает название страницы в заголовке браузера, и не совсем логично работает кнопка Back.
Но от этих проблем можно избавиться, перехитрив браузер. Для этого достаточно просто указать пустую ссылку <a href=»#»>вверх страницы</a>, не задавая никаких якорей. Браузер без лишних раздумий прокрутит страницу вверх. Я специально посмотрел в спецификации, что она имеет сказать на этот счёт, но не нашел никаких указаний, как UA должен действовать в ситуации, когда имя якоря не указано. Хорошо, что в этом недокументированном поведении абсолютно все браузеры проявляют единодушие.
Наконец, хотелось бы указать ещё один способ установки ссылки «вверх страницы». Он основан на JavaScript и не вызывает никаких побочных эффектов:
…
<a href=»javascript:scroll(0,0)»>вверх страницы</a>
Здесь был использован метод window.scroll(x,y), который позволяет промотать страницу на указанное количество пискелов по горизонтали (x) и вертикали (y). Если мы обнулим эти два параметра, то будет восстановлен статус кво — страница проскролится в начало.
Напоследок скажу, что я обычно придерживаюсь последнего предложенного метода, который работает в подавляющем большинстве браузеров и при этом не основан на каких-либо нестандартных «фичах».
P. S. Как правильно подсказал Николай Меркин, наиболее совместимым решением будет такой вариант:
Источник: internet-technologies.ru