LayoutShiftAttribution

Limited availability

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die LayoutShiftAttribution Schnittstelle bietet Debugging-Informationen über Elemente, die sich verschoben haben.

Instanzen von LayoutShiftAttribution werden in einem Array zurückgegeben, wenn LayoutShift.sources aufgerufen wird.

Instanz-Eigenschaften

LayoutShiftAttribution.node Nur lesbar Experimentell

Gibt das Element zurück, das sich verschoben hat (null, wenn es entfernt wurde).

LayoutShiftAttribution.previousRect Nur lesbar Experimentell

Gibt ein DOMRectReadOnly Objekt zurück, das die Position des Elements vor der Verschiebung repräsentiert.

LayoutShiftAttribution.currentRect Nur lesbar Experimentell

Gibt ein DOMRectReadOnly Objekt zurück, das die Position des Elements nach der Verschiebung repräsentiert.

Instanz-Methoden

LayoutShiftAttribution.toJSON() Experimentell

Gibt eine JSON-Darstellung des LayoutShiftAttribution Objekts zurück.

Beispiele

Das folgende Beispiel findet das Element mit dem höchsten Layout-Verschiebungswert und gibt das Element in diesem Eintrag mit der größten Größe vor der Verschiebung (previousRect) zurück. Für weitere Details siehe Debuggen Sie Web Vitals im Feld.

js
function getCLSDebugTarget(entries) {
  const largestEntry = entries.reduce((a, b) =>
    a && a.value > b.value ? a : b,
  );
  if (largestEntry?.sources?.length) {
    const largestSource = largestEntry.sources.reduce((a, b) => {
      const area = (el) => el.previousRect.width * el.previousRect.height;
      return a.node && area(a) > area(b) ? a : b;
    });
    if (largestSource) {
      return largestSource.node;
    }
  }
}

Spezifikationen

Specification
Layout Instability
# sec-layout-shift-attribution

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch