Как не вернуться к предыдущему разделу с тегом HTML id и перейти на предыдущий сайт? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть одностраничный сайт с несколькими разделами (Домой, Услуги, Портфолио, Контакт).Я использую атрибут id, чтобы указать на каждый раздел.

Как мне избежать, чтобы браузер сохранял эти #home или те разделы, которые я просматривал в истории, и переходил на предыдущий веб-сайт??

Есть ли способ достичь этого?

Что я ищу, так это то, что это связано с состоянием сайта.Таким образом, каждый щелчок по любому разделу обновляет состояние веб-сайта в URL, добавляя # и имя id.Состояние можно изменить с помощью функции onhashchange в JavaScript.Я не знаю точно, как его использовать или можно применить другой подход.

1 Ответ

2 голосов
/ 30 апреля 2019

Это как указала Адитья Тхакур. Вы можете использовать window.history.replaceState ()

Вот пример кода:

<a href="#home" onclick="handleLink(event, this)">Home</a>

И функция handleLink:

function handleLink(event, element) {
    event.preventDefault();

    window.history.replaceState(null, "Title", element.href);
  }

replaceState не добавит новую запись в историю вашего браузера. Поэтому, когда вы нажмете кнопку «Назад» в браузере, вы вернетесь на предыдущую страницу.

Вот документация: https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...