LargestContentfulPaint: renderTime-Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die schreibgeschützte renderTime-Eigenschaft der LargestContentfulPaint-Schnittstelle repräsentiert die Zeit, zu der das Element auf dem Bildschirm gerendert wurde.
Wert
Die renderTime-Eigenschaft kann die folgenden Werte haben:
- Ein
timestamp, der die Zeit in Millisekunden darstellt, zu der das Element auf dem Bildschirm gerendert wurde. 0wenn die Ressource eine Cross-Origin-Anfrage ist und keinTiming-Allow-OriginHTTP-Antwort-Header verwendet wird.
Beispiele
>Protokollierung der renderTime des größten inhaltsreichen Paints
Dieses Beispiel verwendet einen PerformanceObserver, der neue largest-contentful-paint-Performance-Einträge meldet, sobald sie in der Leistungstimeline des Browsers erfasst werden. Die Option buffered wird verwendet, um auf Einträge von vor der Erstellung des Observers zuzugreifen.
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 });
Renderzeit eines Cross-Origin-Bildes
Aus Sicherheitsgründen war der Wert der renderTime-Eigenschaft ursprünglich 0, wenn die Ressource eine Cross-Origin-Anfrage ist. Stattdessen sollte die loadTime-Eigenschaft als Fallback verwendet werden.
Browser können jetzt in diesen Situationen eine leicht vergröberte Renderzeit anzeigen. Prüfen Sie die Browser-Unterstützung.
Um genauere Cross-Origin-Renderzeit-Informationen verfügbar zu machen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.
Zum Beispiel sollte die Cross-Origin-Ressource folgendes senden, um https://newreal1.mobosoft.fun zu erlauben, eine genaue renderTime zu sehen:
Timing-Allow-Origin: https://newreal1.mobosoft.fun
Alternativ können Sie startTime verwenden, das den Wert von renderTime des Eintrags zurückgibt, wenn er nicht 0 ist, und ansonsten den Wert dieser loadTime-Eigenschaft. Es wird jedoch empfohlen, den Timing-Allow-Origin Header zu setzen, damit die Metriken genauer sind.
Wenn Sie startTime verwenden, können Sie Ungenauigkeiten kennzeichnen, indem Sie überprüfen, ob renderTime verwendet wurde:
const isAccurateLCP = Boolean(entry.renderTime);
Spezifikationen
| Specification |
|---|
| Largest Contentful Paint> # ref-for-dom-largestcontentfulpaint-rendertime> |
Browser-Kompatibilität
Loading…