XRSession: visibilitychange-Ereignis
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 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, um sie darüber zu informieren, wenn sie sichtbar oder verborgen wird oder wenn sie sichtbar, aber nicht aktuell fokussiert ist. Beim Empfang des Ereignisses können Sie den Wert der visibilityState
-Eigenschaft der Sitzung überprüfen, um den neuen Sichtbarkeitsstatus zu bestimmen.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("visibilitychange", (event) => { })
onvisibilitychange = (event) => { }
Ereignistyp
Ein XRSessionEvent
. Übernimmt von Event
.
Ereigniseigenschaften
Beschreibung
Auslöser
Ausgelöst, wenn eine XRSession
sichtbar oder verborgen wird oder wenn sie sichtbar, aber nicht aktuell fokussiert ist.
Wenn die XRSession
dieses Ereignis empfängt, wurde der Sichtbarkeitszustand bereits geändert.
Anwendungsfälle
Nach dem Empfang des Ereignisses können Sie den Wert der visibilityState
-Eigenschaft der Sitzung überprüfen, um den neuen Sichtbarkeitsstatus zu bestimmen.
Beispiele
Dieses Beispiel demonstriert, wie man auf ein visibilitychange
-Ereignis auf einer WebXR-Sitzung hört, indem addEventListener()
verwendet wird, um mit dem Zuhören für das Ereignis zu beginnen:
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 eine Änderung des Sichtbarkeitszustands auftritt, wird das Ereignis empfangen und an eine Funktion mySessionVisible()
weitergeleitet, mit einem booleschen Parameter, der angibt, ob die Sitzung derzeit dem Benutzer angezeigt wird oder nicht.
Sie können den Ereignis-Handler auch erstellen, indem Sie ihn der onvisibilitychange
-Ereignis-Handler-Eigenschaft der XRSession
zuweisen, wie folgt:
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
Spezifikationen
Specification |
---|
WebXR Device API # eventdef-xrsession-visibilitychange |
WebXR Device API # dom-xrsession-onvisibilitychange |