XRSessionEvent

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

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.

Event XRSessionEvent

Constructor

XRSessionEvent()

Creates and returns a new XRSessionEvent object.

Instance properties

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

session Read only

The XRSession to which the event refers.

Instance 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 listener 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.

js
xrSession.addEventListener("visibilitychange", (e) => {
  switch (e.session.visibilityState) {
    case "visible":
    case "visible-blurred":
      mySessionVisible(true);
      break;
    case "hidden":
      mySessionVisible(false);
      break;
  }
});

Specifications

Specification
WebXR Device API
# xrsessionevent-interface

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
XRSessionEvent
XRSessionEvent() constructor
session

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.