LargestContentfulPaint: Eigenschaft renderTime

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die renderTime-Eigenschaft der LargestContentfulPaint-Schnittstelle ist eine schreibgeschützte Eigenschaft, die die Zeit angibt, zu der das Element auf dem Bildschirm gerendert wurde.

Wert

Die renderTime-Eigenschaft kann folgende Werte haben:

  • Ein timestamp, der die Zeit in Millisekunden angibt, zu der das Element auf dem Bildschirm gerendert wurde.
  • 0, wenn die Ressource eine Cross-Origin-Anfrage ist und kein Timing-Allow-Origin HTTP-Antwort-Header verwendet wird.

Beispiele

Protokollierung der renderTime des größten inhaltsreichen Paints

Dieses Beispiel verwendet einen PerformanceObserver, der über neue largest-contentful-paint-Performance-Einträge informiert, sobald sie in der Performance-Zeitleiste des Browsers aufgezeichnet werden. Die Option buffered wird verwendet, um auf Einträge zuzugreifen, die vor der Erzeugung des Observers existierten.

js
const observer = new PerformanceObserver((list) => {
  const entries = list.getEntries();
  const lastEntry = entries[entries.length - 1]; // Use the latest LCP candidate
  console.log(lastEntry.renderTime);
});
observer.observe({ type: "largest-contentful-paint", buffered: true });

Render-Zeit eines Cross-Origin-Bildes

Aus Sicherheitsgründen war der Wert der renderTime-Eigenschaft ursprünglich 0, wenn die Ressource eine Cross-Origin-Anfrage war. Stattdessen sollte die loadTime-Eigenschaft als Fallback verwendet werden.

Browser können jetzt möglicherweise eine leicht grobere Render-Zeit anzeigen in diesen Situationen. Prüfen Sie die Browser-Kompatibilität.

Um genauere Cross-Origin-Render-Zeit-Informationen anzuzeigen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.

Zum Beispiel, um https://developer.mozilla.org die genaue renderTime sehen zu lassen, sollte die Cross-Origin-Ressource senden:

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

Alternativ können Sie startTime verwenden, welches den Wert der renderTime dieses Eintrags zurückgibt, wenn er nicht 0 ist, und andernfalls den Wert der loadTime dieses Eintrags. Es wird jedoch empfohlen, den Timing-Allow-Origin Header zu setzen, damit die Metriken genauer sind.

Wenn Sie startTime verwenden, können Sie jede Ungenauigkeit kennzeichnen, indem Sie überprüfen, ob renderTime verwendet wurde:

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

Spezifikationen

Specification
Largest Contentful Paint
# dom-largestcontentfulpaint-rendertime

Browser-Kompatibilität