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

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

View in English Always switch to English

PerformanceElementTiming: renderTime プロパティ

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more support for this feature? Tell us why.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

renderTimePerformanceElementTiming インターフェイスの読み取り専用プロパティで、関連付けられた要素の描画時刻を返します。

その要素の描画時間を表す DOMHighResTimeStamp です。

画像の場合、これは画像の描画タイムスタンプになります。これは画像が完全に読み込まれた後に発生する次のペイントとして定義されます。Timing-allow-origin ヘッダーによって定義されています。タイミング許可チェックが失敗した場合、これは 0 を返します。

テキストノードの場合、これは テキスト描画タイムスタンプ になります。これは、要素にテキストが描画されるようになったタイミングを定義します。

renderTime のログ出力

この例では、elementtiming 属性を追加して <image> 要素を監視しています。 PerformanceObserver"element" 型のパフォーマンス項目をすべて取得するために登録され、オブザーバー作成前のデータにアクセスするために buffered フラグを用います。 entry.renderTime を呼び出すと、画像要素のレンダリング時刻を返します。

html
<img
 src="image.jpg"
 alt="a nice image"
 elementtiming="big-image"
 id="myImage" />
js
const observer = new PerformanceObserver((list) => {
 list.getEntries().forEach((entry) => {
 if (entry.identifier === "big-image") {
 console.log(entry.renderTime);
 }
 });
});
observer.observe({ type: "element", buffered: true });

オリジンを跨いだ画像の描画時刻

セキュリティ上の理由から、リソースがオリジン間リクエストである場合、 renderTime プロパティの値は 0 です。オリジン間のレンダリング時刻情報を公開するには、Timing-Allow-Origin HTTP レスポンスヘッダーを設定する必要があります。HTTP レスポンスヘッダーを設定する必要があります。

例えば、https://developer.mozilla.orgrenderTime が見られるようにするには、オリジン間リソースは次のように送信します。

http
Timing-Allow-Origin: https://developer.mozilla.org

別の方法として、 startTime を使用することもできます。この場合、項目の renderTime の値が 0 でなければその値を返し、そうでなければこの項目の loadTime の値を返します。ただし、指標をより正確なものにするために、 Timing-Allow-Origin ヘッダーを設定することをお勧めします。

startTime を使用した場合、renderTime が使用されたかどうかを調べることで、不正確さにフラグを立てることができます。

js
const isRenderTime = entry.renderTime ? true : false;

仕様書

仕様書
Element Timing API
# dom-performanceelementtiming-rendertime

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

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

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