Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

VisibilityStateEntry

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die VisibilityStateEntry-Schnittstelle liefert Zeitangaben zu Änderungen des Sichtbarkeitsstatus einer Seite, also dazu, wann ein Tab vom Vordergrund in den Hintergrund wechselt oder umgekehrt.

Damit lassen sich Sichtbarkeitsänderungen auf der Performance-Zeitleiste bestimmen und mit anderen Performance-Einträgen wie "first-contentful-paint" abgleichen (siehe PerformancePaintTiming).

Diese API erfasst zwei wesentliche Zeitpunkte, zu denen sich der Sichtbarkeitsstatus ändert:

  • visible: Der Zeitpunkt, zu dem die Seite sichtbar wird (also wenn ihr Tab in den Vordergrund wechselt).
  • hidden: Der Zeitpunkt, zu dem die Seite ausgeblendet wird (also wenn ihr Tab in den Hintergrund wechselt).

Die Performance-Zeitleiste enthält immer einen "visibility-state"-Eintrag mit einem startTime-Wert von 0 und einem name, der den anfänglichen Sichtbarkeitsstatus der Seite angibt.

Hinweis: Wie andere Performance-APIs erweitert auch diese API PerformanceEntry.

PerformanceEntry VisibilityStateEntry

Instanzeigenschaften

Diese Schnittstelle hat keine eigenen Eigenschaften. Sie erweitert jedoch die Eigenschaften von PerformanceEntry, indem sie diese wie folgt konkretisiert und einschränkt:

PerformanceEntry.entryType Schreibgeschützt

Gibt "visibility-state" zurück.

PerformanceEntry.name Schreibgeschützt

Gibt entweder "visible" oder "hidden" zurück.

PerformanceEntry.startTime Schreibgeschützt

Gibt den Zeitstempel zurück, zu dem sich der Sichtbarkeitsstatus geändert hat.

PerformanceEntry.duration Schreibgeschützt

Gibt 0 zurück.

Instanzmethoden

Diese Schnittstelle hat keine Methoden.

Beispiele

Grundlegende Verwendung

Mit der folgenden Funktion lässt sich eine Tabelle aller "visibility-state"-Performance-Einträge in der Konsole ausgeben:

js
function getVisibilityStateEntries() {
  const visibilityStateEntries =
    performance.getEntriesByType("visibility-state");
  console.table(visibilityStateEntries);
}

Sichtbarkeitsänderungen mit Paint-Zeitangaben abgleichen

Die folgende Funktion ruft Referenzen auf alle "visibility-state"-Einträge und den "first-contentful-paint"-Eintrag ab. Anschließend prüft sie mit Array.some(), ob einer der Sichtbarkeitseinträge mit dem Wert "hidden" vor dem ersten Contentful Paint aufgetreten ist:

js
function wasHiddenBeforeFirstContentfulPaint() {
  const fcpEntry = performance.getEntriesByName("first-contentful-paint")[0];
  const visibilityStateEntries =
    performance.getEntriesByType("visibility-state");
  return visibilityStateEntries.some(
    (e) => e.startTime < fcpEntry.startTime && e.name === "hidden",
  );
}

Spezifikationen

Spezifikation
HTML
# the-visibilitystateentry-interface

Browser-Kompatibilität

Siehe auch

Page Visibility API