Navigation API

Navigation API теперь официально стал частью Baseline 2024 (Widely available) - то есть поддерживается во всех основных браузерах (Chrome, Firefox, Safari) с начала 2026 года 🤩

А что это вообще и зачем?

Разработчики использовали window.history для построения SPA-приложений. History API имел серьёзные ограничения: невозможность отслеживать все типы навигации, читать полный стек истории, редактировать неактивные записи, а событие popstate вело себя непоследовательно.

Новый API радикально упрощает клиентскую маршрутизацию. Вместо того чтобы собирать роутер «по кусочкам» (перехватывать клики на ссылки, вызывать preventDefault, вручную обновлять URL через pushState, отдельно слушать popstate).

Navigation API даёт единое, централизованное событие NavigateEvent для любой навигации - будь то клик по ссылке, отправка формы, нажатие кнопки «назад» или программный вызов navigation.navigate().

Для автоматического обновления адресной строки и стека истории (без pushState) - добавили функцию event.intercept(). Она обрабатывает доступность (управление фокусом после навигации) и позволяет держать всю логику навигации в одном месте.

📕 Подробнее здесь.

@frontend_tales