Navigation APIルータースニペットジェネレーターとは
Navigation APIは、navigation.addEventListener('navigate', ...)ハンドラを通じてナビゲーションをインターセプトするモダンブラウザAPIです。History APIが後方/前方移動でのみpopstateイベントを発火するのに対し、Navigation APIはリンククリック、フォーム送信、プログラムによるナビゲーション、ブラウザの戻る/進むを含むすべてのナビゲーションタイプをキャプチャします。View Transition APIと統合してアニメーション付きのページ切り替えを実現し、組み込みのスクロール復元とナビゲーションライフサイクル管理を提供します。
クイックアンサー
Navigation APIを使用してクライアントサイドルーティングのJavaScriptスニペットを生成します。URLPatternによるルートパターン、リンククリックとブラウザナビゲーションのインターセプトオプション、アニメーション付きページ遷移のためのView Transition統合、スクロール復元動作を設定できます。Navigation API(Chrome 102+、Safari 16.4+、Firefox 131+)は、統一されたnavigateイベント、キャンセル用のAbortSignal、組み込みのView TransitionサポートでHistory APIを置き換えます。
Last updated: 2026-05-31
制限事項
- Navigation APIはまだすべてのブラウザでサポートされているわけではありません。Chrome 102+、Edge 102+、Safari 16.4+、Firefox 131+がサポートしています。古いブラウザではHistory APIまたはサーバーサイドナビゲーションへのフォールバックが必要です。
- View Transition統合にはNavigation APIとView Transition APIの両方のサポートが必要です。クロスドキュメントビュー遷移はView Transition APIの新しい機能であり、Navigation APIのベースライン以上の追加ブラウザ要件があります。
- Navigation APIは、レイジーローディング、コード分割、データキャッシングなどのアプリケーションレベルの問題を処理しません。これらはルートハンドラ内で別途実装する必要があります。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- URLPatternオブジェクトまたは単純なパスマッチャーを使用してルートパターンを定義します。各ルートには、コンテンツを取得してDOMを更新するハンドラ関数を設定できます。
- ナビゲーションインターセプトオプションを設定します。すべてのナビゲーション、同一オリジンのナビゲーションのみ、または特定のナビゲーションタイプ(push、replace、reload、traverse)をインターセプトできます。
- navigateハンドラ内でdocument.startViewTransitionを使用して、ページ状態間のアニメーション遷移を有効にします。
- スクロール復元動作を選択します。前回のスクロール位置への自動復元、各ナビゲーションでトップにスクロール、またはルートごとのカスタムスクロールターゲット。
主な用途
- 適切な戻る/進むナビゲーションをサポートし、同時ナビゲーションリクエスト間の競合状態がないシングルページアプリケーションルーターを構築します。
- プログレッシブに強化されたクライアントサイドナビゲーションを備えたマルチページアプリケーションを作成し、非サポートブラウザでは完全なページロードにグレースフルデグラデーションします。
- Navigation APIのnavigateハンドラ内でView Transition APIを使用して、ビュー間のアニメーション付きページ遷移を実装します。