Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The visibilitychange
event is sent to an XRSession
to inform it when it becomes visible or hidden, or when it becomes visible but not currently focused. Upon receiving the event, you can check the value of the session's visibilityState
property to determine the new visibility state.
Bubbles | Yes |
Cancelable | No |
Interface | XRSessionEvent
|
Event handler property | onvisibilitychange
|
When the XRSession
receives this event, the visibility state has already been changed.
Examples
This example demonstrates how to listen for a visibilitychange
event on a WebXR session, using addEventListener()
to begin listening for the event:
navigator.xr.requestSession("inline").then((xrSession) => {
xrSession.addEventListener("visibilitychange", e => {
switch(e.session.visiblityState) {
case "visible":
case "visible-blurred":
mySessionVisible(true);
break;
case "hidden":
mySessionVisible(false);
break;
}
});
});
When a visibility state change occurs, the event is received and dispatched to a function mySessionVisible()
, with a Boolean parameter indicating whether or not the session is presently being displayed to the user.
You can also create the event handler by assigning it to the XRSession
's onvisibilitychange
event handler property, like this:
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
Specifications
Specification | Status | Comment |
---|---|---|
WebXR Device APIThe definition of 'visibilitychange event' in that specification. | Working Draft | Initial definition. |
Browser compatibility
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
visibilitychange event
|
Chrome
Full support 79 |
Edge
Full support 79 |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 79 |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.2 |
Legend
- Full support
- Full support
- No support
- No support
XRSession: visibilitychange event by Mozilla Contributors is licensed under CC-BY-SA 2.5.