XRSessionEvent

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 XRSessionEvent object configured using the specified XRSessionEventInit object's values as available.

Properties

In addition to properties inherited from its parent interface, Event, XRSessionEvent provides the folllowing:

session Read only
The XRSession to which the event refers.

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 API
The definition of 'XRSessionEvent' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
XRSessionEventChrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.2
XRSessionEvent() constructorChrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.2
sessionChrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.2

Legend

Full support  
Full support
No support  
No support