The WebXR Device API's XRSessionEvent interface describes an event which indicates the change of the state of an XRSession. These events occur, for example, when the session ends or the visibility of its context changes.
Constructor
XRSessionEvent()- Creates and returns a new
XRSessionEventobject configured using the specifiedXRSessionEventInitobject's values as available.
Properties
In addition to properties inherited from its parent interface, Event, XRSessionEvent provides the folllowing:
Methods
While XRSessionEvent defines no methods, it inherits methods from its parent interface, Event.
Session event types
The following events are represented using the XRSessionEvent interface, and are permitted values for its type property.
end- Fired at the session when it has ended, after being terminated by the application or the user agent.
visibilitychange- Fired at the session whenever its visibility state changes.
Examples
This example creates a listiener that watches for the visibility state of the session to change. It reacts by calling a function mySessionVisible() with a Boolean indicating whether or not the session is visible; this function might, for instance, spin up or reconfigure a worker that handles rendering the scene.
xrSession.addEventListener("visibilitystate", e => {
switch(e.session.visibilitystate) {
case "visible":
case "visible-blurred":
mySessionVisible(true);
break;
case "hidden":
mySessionVisible(false);
break;
}
});
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebXR Device APIThe definition of 'XRSessionEvent' in that specification. | Working Draft | Initial definition. |
Browser compatibility
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
XRSessionEvent
|
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 |
XRSessionEvent() constructor
|
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 |
session
|
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
XRSessionEvent by Mozilla Contributors is licensed under CC-BY-SA 2.5.