Limited Availability
WebXR
id: webxr-device
WebXR
The
navigator.xr API represents the browser's virtual reality or augmented reality system. You can use to request a WebXR session.
Baseline Status:
This feature is currently Limited and is missing in at least one major browser engine.
Desktop Browser Engine Support
Google Chrome
79
Supported
Mozilla Firefox
—
Unsupported
Apple Safari
—
Unsupported
Microsoft Edge
79
Supported
Mobile Browser Engine Support
Chrome Android
79
Firefox Android
—
Safari iOS
—
Specifications and References
MDN Browser Compat Data Keys:
api.Navigator.xr ↗
api.WebGL2RenderingContext.makeXRCompatible ↗
api.WebGLRenderingContext.makeXRCompatible ↗
api.XRBoundedReferenceSpace ↗
api.XRBoundedReferenceSpace.boundsGeometry ↗
api.XRFrame ↗
api.XRFrame.getPose ↗
api.XRFrame.getViewerPose ↗
api.XRFrame.session ↗
api.XRInputSource ↗
api.XRInputSource.gripSpace ↗
api.XRInputSource.handedness ↗
api.XRInputSource.profiles ↗
api.XRInputSource.targetRayMode ↗
api.XRInputSource.targetRaySpace ↗
api.XRInputSourceArray ↗
api.XRInputSourceArray.@@iterator ↗
api.XRInputSourceArray.entries ↗
api.XRInputSourceArray.forEach ↗
api.XRInputSourceArray.keys ↗
api.XRInputSourceArray.length ↗
api.XRInputSourceArray.values ↗
api.XRInputSourceEvent ↗
api.XRInputSourceEvent.XRInputSourceEvent ↗
api.XRInputSourceEvent.frame ↗
api.XRInputSourceEvent.inputSource ↗
api.XRInputSourcesChangeEvent ↗
api.XRInputSourcesChangeEvent.XRInputSourcesChangeEvent ↗
api.XRInputSourcesChangeEvent.added ↗
api.XRInputSourcesChangeEvent.removed ↗
api.XRInputSourcesChangeEvent.session ↗
api.XRLayer ↗
api.XRPose ↗
api.XRPose.angularVelocity ↗
api.XRPose.emulatedPosition ↗
api.XRPose.linearVelocity ↗
api.XRPose.transform ↗
api.XRReferenceSpace ↗
api.XRReferenceSpace.getOffsetReferenceSpace ↗
api.XRReferenceSpace.reset_event ↗
api.XRReferenceSpaceEvent ↗
api.XRReferenceSpaceEvent.XRReferenceSpaceEvent ↗
api.XRReferenceSpaceEvent.referenceSpace ↗
api.XRReferenceSpaceEvent.transform ↗
api.XRRenderState ↗
api.XRRenderState.baseLayer ↗
api.XRRenderState.depthFar ↗
api.XRRenderState.depthNear ↗
api.XRRenderState.inlineVerticalFieldOfView ↗
api.XRRigidTransform ↗
api.XRRigidTransform.XRRigidTransform ↗
api.XRRigidTransform.inverse ↗
api.XRRigidTransform.matrix ↗
api.XRRigidTransform.orientation ↗
api.XRRigidTransform.position ↗
api.XRSession ↗
api.XRSession.cancelAnimationFrame ↗
api.XRSession.enabledFeatures ↗
api.XRSession.end ↗
api.XRSession.end_event ↗
api.XRSession.inputSources ↗
api.XRSession.inputsourceschange_event ↗
api.XRSession.renderState ↗
api.XRSession.requestAnimationFrame ↗
api.XRSession.requestReferenceSpace ↗
api.XRSession.select_event ↗
api.XRSession.selectend_event ↗
api.XRSession.selectstart_event ↗
api.XRSession.squeeze_event ↗
api.XRSession.squeezeend_event ↗
api.XRSession.squeezestart_event ↗
api.XRSession.updateRenderState ↗
api.XRSession.visibilityState ↗
api.XRSession.visibilitychange_event ↗
api.XRSessionEvent ↗
api.XRSessionEvent.XRSessionEvent ↗
api.XRSessionEvent.session ↗
api.XRSpace ↗
api.XRSystem ↗
api.XRSystem.devicechange_event ↗
api.XRSystem.isSessionSupported ↗
api.XRSystem.requestSession ↗
api.XRView ↗
api.XRView.eye ↗
api.XRView.projectionMatrix ↗
api.XRView.recommendedViewportScale ↗
api.XRView.requestViewportScale ↗
api.XRView.transform ↗
api.XRViewerPose ↗
api.XRViewerPose.views ↗
api.XRViewport ↗
api.XRViewport.height ↗
api.XRViewport.width ↗
api.XRViewport.x ↗
api.XRViewport.y ↗
api.XRWebGLLayer ↗
api.XRWebGLLayer.XRWebGLLayer ↗
api.XRWebGLLayer.antialias ↗
api.XRWebGLLayer.fixedFoveation ↗
api.XRWebGLLayer.framebuffer ↗
api.XRWebGLLayer.framebufferHeight ↗
api.XRWebGLLayer.framebufferWidth ↗
api.XRWebGLLayer.getNativeFramebufferScaleFactor_static ↗
api.XRWebGLLayer.getViewport ↗
api.XRWebGLLayer.ignoreDepthValues ↗
html.elements.iframe.allow.xr-spatial-tracking ↗
http.headers.Permissions-Policy.xr-spatial-tracking ↗