Navigation API (теперь в Baseline) — современная замена History API для SPA. Доступен через
window.navigation. Вкратце:- Единый центр: Событие navigate перехватывает всё: клики, кнопки «Назад/Вперед», отправку форм. Старые методы (pushState, ссылки) тоже триггерят это событие.
- Управление переходом: Метод
intercept({ handler }) позволяет асинхронно загрузить контент до смены URL.- Автоматическая отмена запросов (fetch) при новой навигации через signal.
- Ручной контроль прокрутки и фокуса.
- История и состояние: Методы
navigate, back, traverseTo возвращают промисы статуса. Состояние (state) можно менять без перехода через updateCurrentEntry(). У каждой записи есть уникальный key.- Фишки: Идеально работает в паре с View Transitions API для анимаций.
- Минусы: Не срабатывает при первой загрузке страницы, работает только в рамках одного фрейма, нельзя удалять записи из истории.
Статья: https://habr.com/ru/companies/timeweb/articles/1008840/