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, bevor Sie diese produktiv verwenden.
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, wann sie sichtbar oder verborgen wird, oder wann sie sichtbar, aber derzeit nicht fokussiert ist. Beim Erhalt 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 Ereignishandlereigenschaft.
addEventListener("visibilitychange", (event) => {});
onvisibilitychange = (event) => {};
Ereignistyp
Ein XRSessionEvent
. Erbt vom Event
.
Ereigniseigenschaften
Beschreibung
Auslöser
Wird ausgelöst, wenn eine XRSession
sichtbar oder verborgen wird, oder wenn sie sichtbar, aber derzeit nicht fokussiert ist.
Wenn die XRSession
dieses Ereignis empfängt, wurde der Sichtbarkeitszustand bereits geändert.
Anwendungsfälle
Beim Erhalt des Ereignisses können Sie den Wert der visibilityState
Eigenschaft der Sitzung überprüfen, um den neuen Sichtbarkeitsstatus zu bestimmen.
Beispiele
Dieses Beispiel zeigt, wie man auf ein visibilitychange
-Ereignis in einer WebXR-Sitzung hört, indem addEventListener()
verwendet wird, um mit dem Lauschen auf 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 Sichtbarkeitsstatus 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 auch den Ereignishandler erstellen, indem Sie ihn der onvisibilitychange
-Ereignishandlereigenschaft der XRSession
zuordnen, wie folgt:
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
Spezifikationen
Specification |
---|
WebXR Device API # eventdef-xrsession-visibilitychange |
WebXR Device API # dom-xrsession-onvisibilitychange |
Browser-Kompatibilität
BCD tables only load in the browser