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

Как сделать навигацию с помощью history?

Всем привет. Пытаюсь написать простой одностраничный скрипт для отображения трёх страниц по хешам, с обработкой нажатия на сервисную кнопку и системную кнопку "назад". Чтобы с каждой страницы можно было просто вернуться на главную, без хождения по всей истории.

Есть главная страница и от неё на втором уровне ещё две страницы. Условно: Главная -> О нас и Главная -> Контакты. На страницах О нас и Контакты есть собственные кнопки назад.

Как правильно реализовать переходы и историю переходов с помощью windows.history?

Пробовал так:

С главной страницы, по нажатию на ссылоку (О нас) генерю событие
history.pushState({ hash: this.currentHash, "about" }, null);


В обработчике сервисной и системной кнопки Назад пишу

history.replaceState({ hash: '#home' }, null);

Очевидно, что это не подходит.

Если кнопку Назад обрабатывать через
history.pushState({ hash: '#home' }, null);

То, потом будет перематываться вся история посещений, а не просто возврат на главную страницу.

Подскажите, пожалуйста, как сделать правильно?

P.S. хочу сделать это без роутеров, для собственного опыта.
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект