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():
addEventListener("visibilitychange", (event) => { })
Alternativ können Sie den Event-Handler-Property der Schnittstelle einen Wert zuweisen:
onvisibilitychange = (event) => { }
Ereignistyp
Ein XRSessionEvent. Erbt von Event.
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:
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:
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
Spezifikationen
| Spezifikation |
|---|
| WebXR Device API> # eventdef-xrsession-visibilitychange> |
| WebXR Device API> # dom-xrsession-onvisibilitychange> |