PerformanceElementTiming
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
PerformanceElementTiming インターフェイスは、開発者が elementtiming 属性で記述した画像やテキストのノード要素の描画タイミング情報を保持します。
解説
要素タイミング API の目的は、ウェブ開発者や分析ツールにページ上の重要な要素のレンダリングタイムスタンプを測定する機能を提供することです。
API は以下の要素のタイミング情報に対応しています。
作者は要素に elementtiming 属性を追加することで、監視のためのフラグを立てます。
PerformanceElementTiming は PerformanceEntry を継承しています。
インスタンスプロパティ
このインターフェイスは、以下のイベントタイミングパフォーマンス項目型である PerformanceEntry プロパティを以下のように修飾して拡張しています。
PerformanceEntry.duration読取専用 Experimental-
常に
0を返します。durationはこのインターフェイスでは利用できません。 PerformanceEntry.entryType読取専用 Experimental-
常に
"element"を返します。 PerformanceEntry.name読取専用 Experimental-
画像には
"image-paint"を返し、テキストには"text-paint"を返します。 PerformanceEntry.startTime読取専用 Experimental-
この項目の
renderTimeの値が0でない場合はその値を返し、そうでない場合はこの項目のloadTimeの値を返します。
このインターフェイスは以下のプロパティにも対応しています。
PerformanceElementTiming.element読取専用 Experimental-
情報を返す要素を表す
Elementです。 PerformanceElementTiming.id読取専用 Experimental-
要素の
idである文字列です。 PerformanceElementTiming.identifier読取専用 Experimental-
要素の
elementtiming属性の値である文字列です。 PerformanceElementTiming.intersectionRect読取専用 Experimental-
ビューポート内の要素の矩形である
DOMRectReadOnlyです。 PerformanceElementTiming.loadTime読取専用 Experimental-
要素の読み込み時間を持つ
DOMHighResTimeStampです。 PerformanceElementTiming.naturalHeight読取専用 Experimental-
符号なし 32 ビット整数 (unsigned long) で、これが画像に適用されているときは画像の内在的な高さを表し、テキストのときは 0 です。
PerformanceElementTiming.naturalWidth読取専用 Experimental-
符号なし 32 ビット整数 (unsigned long) で、これが画像に適用されているときは画像の内在的な幅を表し、テキストのときは 0 です。
PerformanceElementTiming.renderTime読取専用 Experimental-
要素の描画時間を持つ
DOMHighResTimeStampです。 PerformanceElementTiming.url読取専用 Experimental-
画像の場合はリソースをリクエストする初期 URL となる文字列です。テキストの場合は 0 です。
インスタンスメソッド
PerformanceElementTiming.toJSON()Experimental-
PerformanceElementTimingオブジェクトを JSON で返します。
例
>固有の要素のレンダリング時間の監視
この例では、 elementtiming 属性を追加することで、 2 つの要素を監視しています。 PerformanceObserver は "element" 型のパフォーマンス項目をすべて取得するために登録され、 buffered フラグを使用してオブザーバー作成前のデータにアクセスしています。
<img src="image.jpg" elementtiming="big-image" />
<p elementtiming="text" id="text-id">text here</p>
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(entry);
});
});
observer.observe({ type: "element", buffered: true });
2 つの項目がコンソールに出力されます。最初の項目は画像の詳細を格納し、 2 つ目はテキストノードの詳細を格納します。
仕様書
| Specification |
|---|
| Element Timing API> # sec-performance-element-timing> |
ブラウザーの互換性
Loading…
関連情報
elementtimingHTML 属性