XRSession: Eigenschaft visibilityState

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.

Die schreibgeschützte visibilityState-Eigenschaft des XRSession-Interfaces ist ein String, der angibt, ob der WebXR-Inhalt derzeit für den Benutzer sichtbar ist und, wenn ja, ob er der primäre Fokus ist.

Jedes Mal, wenn sich der Sichtbarkeitszustand ändert, wird ein visibilitychange-Ereignis auf dem XRSession-Objekt ausgelöst.

Wert

Ein String, der angibt, ob der XR-Inhalt für den Benutzer sichtbar ist und, wenn dies der Fall ist, ob er gerade der primäre Fokus ist.

Die möglichen Werte von visibilityState sind:

hidden

Die virtuelle Szene, die von der XRSession generiert wird, ist derzeit nicht für den Benutzer sichtbar, daher werden ihre requestAnimationFrame()-Rückrufe nicht ausgeführt, bis sich der visibilityState ändert. Eingabegeräte werden für die Sitzung nicht verarbeitet.

visible

Die virtuelle Szene, die von der XRSession gerendert wird, ist derzeit für den Benutzer sichtbar und ist der primäre Fokus der Aufmerksamkeit des Benutzers. Zu diesem Zweck werden die requestAnimationFrame()-Rückrufe der Sitzung mit der nativen Bildwiederholrate des XR-Geräts verarbeitet, und Eingabegeräte werden normal verarbeitet.

visible-blurred

Obwohl die virtuelle Szene, die von der XRSession gerendert wird, derzeit für den Benutzer sichtbar sein kann, ist sie nicht der primäre Fokus des Benutzers im Moment; es ist auch möglich, dass die Sitzung derzeit überhaupt nicht sichtbar ist. Um die Ressourcenauslastung zu optimieren, kann der User-Agent die requestAnimationFrame()-Rückrufe der Sitzung mit einer reduzierten Rate verarbeiten. Eingabegeräte werden für die Sitzung nicht verarbeitet.

Nutzungshinweise

Es ist wichtig zu beachten, dass, da eine immersive WebXR-Sitzung möglicherweise auf einem anderen Display angezeigt wird als das HTML-Dokument, in dem sie ausgeführt wird (z. B. wenn sie auf einem Headset gezeigt wird), der Wert der visibilityState einer Sitzung nicht unbedingt der gleiche sein muss wie der des zugehörigen documents's visibilityState. Zum Beispiel, wenn der Betrachter ein an einen Computer angeschlossenes Headset verwendet und die immersive Szene durch eine Konfigurations-UI verdeckt ist, könnte der Benutzer hinter das Headset schauen und das Dokument selbst auf dem Monitor ihres Computers sehen.

Spezifikationen

Specification
WebXR Device API
# dom-xrsession-visibilitystate

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch