Задать вопрос
@eugene159

Как имитировать событие ссылки-якоря?

При переходе по ссылке-якорю на другой сайт якорь срабатывает. Пример:
https://ru.wikipedia.org/wiki/HTML5#%D0%A0%D0%B0%D...

Однако если перейти, немного поскроллить страницу, а потом перезагрузить ее (нажать F5 или в адресной строке выделить ссылку и нажать Enter), то якорь уже не будет срабатывать. Но если открыть эту ссылку в новой вкладке, то якорь сработает.

Как реализовать такой механизм средствами JS? Что это за событие(я)? Что это за проверка?
  • Вопрос задан
  • 203 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Avilona
@Avilona
Вы можете смотреть на url при загрузке страницы, и если там есть нужный вам якорь, то смещать к нему, как-то так:
var urlHash = document.querySelector(window.location.hash);
var top = window.scrollY + urlHash.getBoundingClientRect().top;
window.scrollTo({ top: top });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы