Navigation timing
PerformanceNavigationTiming インターフェイスは、ブラウザーの文書ナビゲーションイベントに関するメトリックを格納および取得するためのメソッドとプロパティを提供します。たとえば、このインターフェイスを使用して、文書のロードまたはアンロードにかかる時間を判断できます。
パフォーマンスタイムラインに記載されるのは現在の文書のみなので、パフォーマンスタイムライン内の PerformanceNavigationTiming オブジェクトは 1 つだけです。このオブジェクトは PerformanceResourceTiming と PerformanceEntry のプロパティとメソッドをすべて継承します。
PerformanceEntry PerformanceResourceTiming PerformanceNavigationTiming 以下は PerformanceNavigationTiming で定義するタイムスタンププロパティをすべて表示させたものです。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 57 | 12 | 58 | 15 | 57 | 15.1 | |
| Webサイトは、特定のクライアントヒントがページにとって重要であることを示すために、それをCritical-CH HTTPレスポンスヘッダーに含めることができます(重要かどうかにかかわらず、すべてのクライアントヒントに必要なAccept-CH HTTPリクエストヘッダーも同様に含める必要があります)。そうすることで、Critical-CH HTTPレスポンスヘッダーにリストされたヒントが……であった場合、接続の再起動がトリガーされます。 | 116 | 116 | | | 116 | |
| domComplete 読み取り専用プロパティは、ユーザーエージェントがドキュメントの readyState を「complete」に設定する直前の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| domContentLoadedEventEnd 読み取り専用プロパティは、現在のドキュメントの DOMContentLoaded イベントハンドラが実行完了した直後の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| domContentLoadedEventStart 読み取り専用プロパティは、現在のドキュメントの DOMContentLoaded イベントハンドラが実行を開始する直前の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| domInteractive の読み取り専用プロパティは、ユーザーエージェントがドキュメントの readyState を「interactive」に設定する直前の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| loadEventEnd 読み取り専用プロパティは、現在のドキュメントのロードイベントが完了した時刻と同じDOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| read-onlyプロパティ `loadEventStart` は、現在のドキュメントのロードイベントハンドラが実行を開始する直前の時刻を表す `DOMHighResTimeStamp` を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| read-only プロパティ `redirectCount` は、現在のブラウジングコンテキストにおいて、最後にリダイレクトを伴わないナビゲーションが行われてから現在までのリダイレクトの回数を表す数値を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| PerformanceNavigationTiming インターフェースの toJSON() メソッドはシリアライゼーションであり、PerformanceNavigationTiming オブジェクトの JSON 表現を返します。 | 57 | 16 | 58 | 15 | 57 | 15.1 |
| read-only プロパティは、ナビゲーションの型を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| unloadEventEnd 読み取り専用プロパティは、前のドキュメントの unload イベントハンドラが実行完了した直後の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
| unloadEventStart 読み取り専用プロパティは、前のドキュメントの unload イベントハンドラが実行を開始する直前の時刻を表す DOMHighResTimeStamp を返します。 | 57 | 12 | 58 | 15 | 57 | 15.1 |
実務での使いどころ
-
Navigation timing の活用
PerformanceNavigationTiming インターフェイスは、ブラウザーの文書ナビゲーションイベントに関するメトリックを格納および取得するためのメソッドとプロパティを提供します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。