This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The reason read-only property of the VRDisplayEvent interface returns a human-readable reason why the event was fired.


var myReason = vrDisplayEventInstance.reason;


A string representing the reason why the event was fired. The available reasons are defined in the VRDisplayEventReason enum, and are as follows:

  • mounted — The VRDisplay has detected that the user has put it on (or it has been otherwise activated).
  • navigation — The page has been navigated to from a context that allows this page to begin presenting immediately, such as from another site that was already in VR presentation mode.
  • requested — The user agent has requested that VR presentation mode be started. This allows user agents to include a consistent UI to enter VR across different sites.
  • unmounted — The VRDisplay has detected that the user has taken it off (or it has been otherwise slept/put on standby).


window.addEventListener('vrdisplaypresentchange', function(e) {
  console.log('Display ' + e.display.displayId + ' presentation has changed. Reason given: ' + e.reason + '.');


Specification Status Comment
WebVR 1.1
The definition of 'reason' in that specification.
Draft Initial definition

Browser compatibility

BCD tables only load in the browser

See also