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

View in English Always switch to English

XRSession: visibilitychange-Ereignis

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Das visibilitychange-Ereignis wird an eine XRSession gesendet, wenn sie sichtbar oder verborgen wird oder wenn sie sichtbar wird, aber derzeit nicht fokussiert ist. Wenn Sie das Ereignis empfangen, können Sie den Wert der visibilityState-Eigenschaft der Sitzung prüfen, um ihren neuen Sichtbarkeitsstatus zu ermitteln.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("visibilitychange", (event) => { })

Alternativ können Sie den Event-Handler-Property der Schnittstelle einen Wert zuweisen:

js
onvisibilitychange = (event) => { }

Ereignistyp

Ein XRSessionEvent. Erbt von Event.

Event XRSessionEvent

Beschreibung

Auslöser

Wird ausgelöst, wenn eine XRSession sichtbar oder verborgen wird oder wenn sie sichtbar wird, aber derzeit nicht fokussiert ist.

Wenn die XRSession dieses Ereignis empfängt, wurde der Sichtbarkeitsstatus bereits geändert.

Anwendungsfälle

Wenn Sie das Ereignis empfangen, können Sie den Wert der visibilityState-Eigenschaft der Sitzung prüfen, um ihren neuen Sichtbarkeitsstatus zu ermitteln.

Beispiele

Dieses Beispiel zeigt, wie Sie mit addEventListener() auf einer WebXR-Sitzung auf ein visibilitychange-Ereignis warten:

js
navigator.xr.requestSession("inline").then((xrSession) => {
  xrSession.addEventListener("visibilitychange", (e) => {
    switch (e.session.visibilityState) {
      case "visible":
      case "visible-blurred":
        mySessionVisible(true);
        break;
      case "hidden":
        mySessionVisible(false);
        break;
    }
  });
});

Wenn sich der Sichtbarkeitsstatus ändert, wird das Ereignis empfangen und an die Funktion mySessionVisible() weitergegeben. Ein boolescher Parameter gibt dabei an, ob die Sitzung dem Benutzer gerade angezeigt wird.

Sie können den Event-Handler auch erstellen, indem Sie ihn der onvisibilitychange-Event-Handler-Property der XRSession zuweisen. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onvisibilitychange hinzugefügte Event-Listener ersetzt werden:

js
xrSession.onvisibilitychange = (e) => {
  /* event handled here */
};

Spezifikationen

Spezifikation
WebXR Device API
# eventdef-xrsession-visibilitychange
WebXR Device API
# dom-xrsession-onvisibilitychange

Browser-Kompatibilität