Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
LayoutShiftAttribution
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
DasLayoutShiftAttribution-Interface liefert Debugging-Informationen zu Elementen, die sich verschoben haben.
Instanzen vonLayoutShiftAttribution werden in einem Array zurückgegeben, indemLayoutShift.sources aufgerufen wird.
In diesem Artikel
Instanzeigenschaften
LayoutShiftAttribution.nodeSchreibgeschütztExperimentellGibt das Element zurück, das sich verschoben hat (null, wenn es entfernt wurde).
LayoutShiftAttribution.previousRectSchreibgeschütztExperimentellGibt ein
DOMRectReadOnly-Objekt zurück, das die Position des Elements vor der Verschiebung repräsentiert.LayoutShiftAttribution.currentRectSchreibgeschütztExperimentellGibt ein
DOMRectReadOnly-Objekt zurück, das die Position des Elements nach der Verschiebung repräsentiert.
Instanzmethoden
LayoutShiftAttribution.toJSON()ExperimentellGibt eine JSON-Darstellung des
LayoutShiftAttribution-Objekts zurück.
Beispiele
Das folgende Beispiel beobachtet Layoutverschiebungen und identifiziert das Element mit dem größten Einfluss. Dassources-Array ist absteigend nach Einflussbereich sortiert, sodass das erste Element (sources[0]) das Element darstellt, das am meisten zur Layoutverschiebung beigetragen hat. Weitere Details dazu finden Sie unterDebug Web Vitals in the field.
const observer = new PerformanceObserver((list) => { for (const entry of list.getEntries()) { if (!entry.sources || entry.sources.length === 0) continue; const mostImpactfulSource = entry.sources[0]; console.log("Layout shift score:", entry.value); console.log("Most impactful element:", largestShiftSource.node); console.log("Previous position:", largestShiftSource.previousRect); console.log("Current position:", largestShiftSource.currentRect); }});observer.observe({ type: "layout-shift", buffered: true });Spezifikationen
| Specification |
|---|
| Layout Instability API> # sec-layout-shift-attribution> |