1. 開発者向けのウェブ技術
  2. Web API
  3. PerformanceResourceTiming
  4. PerformanceResourceTiming.fetchStart

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

PerformanceResourceTiming.fetchStart

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年9月以降、すべてのブラウザーで利用可能です。

fetchStart は読み取り専用プロパティで、ブラウザーがリソースの取得を開始する直前の timestamp を表します。

HTTP リダイレクトがある場合、このプロパティは、ユーザーエージェントがリダイレクトの最後のリソースの取得を開始する直前の時間を返します。

他の多くの PerformanceResourceTiming プロパティとは異なり、 fetchStart プロパティは Timing-Allow-Origin がなくてもオリジン間リクエストで利用することができます。

ブラウザーがリソースの取得を開始する直前の DOMHighResTimeStamp

フェッチ時間の計測(リダイレクトを除く)

fetchStartresponseEnd プロパティを使用すると、(リダイレクトなしで)最終リソースを取得するのにかかった全体の時間を計測することができます。リダイレクトを含めるために、フェッチにかかった全体の時間は duration プロパティで提供されます。

js
const timeToFetch = entry.responseEnd - entry.fetchStart;

PerformanceObserver を使用した例です。このオブジェクトは、新しい resource パフォーマンス項目がブラウザーのパフォーマンスタイムラインに記録されると、それを通知します。オブザーバーが作成される前の項目にアクセスするために buffered オプションを使用します。

js
const observer = new PerformanceObserver((list) => {
 list.getEntries().forEach((entry) => {
 const timeToFetch = entry.responseEnd - entry.fetchStart;
 if (timeToFetch > 0) {
 console.log(`${entry.name}: Time to fetch: ${timeToFetch}ms`);
 }
 });
});
observer.observe({ type: "resource", buffered: true });

Performance.getEntriesByType() を使用した例です。このメソッドを呼び出した時点でブラウザー上のパフォーマンスタイムラインに存在する resource パフォーマンス項目のみを表示します。

js
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
 const timeToFetch = entry.responseEnd - entry.fetchStart;
 if (timeToFetch > 0) {
 console.log(`${entry.name}: Time to fetch: ${timeToFetch}ms`);
 }
});

仕様書

仕様書
Resource Timing
# dom-performanceresourcetiming-fetchstart

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /