安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
mode
特性为
XRPermissionDescriptor
dictionary is a string taken from the
XRSessionMode
enumerated type, specifying which Web XR session mode (
inline
,
immersive-vr
,或
immersive-ar
) the described permissions will be used for.
xrPermissionDescriptor = {
mode: xrSessionMode,
requiredFeatures: reqFeatureList,
optionalFeatures: optFeatureList
};
xrPermissionDescriptor.mode = xrSessionMode;
xrMode = xrPermissionDescriptor.mode;
A
DOMString
whose value is one of the strings found in the
XRSessionMode
enumerated type:
immersive-ar
The session's output will be given exclusive access to the immersive device, but the rendered content will be blended with the real-world environment. The session's
environmentBlendMode
indicates the method to be used to blend the content together.
重要:
immersive-ar
mode is defined by the WebXR Augmented Reality Module, which is not yet stable and should not be used other than for testing and experimentation.
immersive-vr
environmentBlendMode
is expected to be
opaque
if possible, but might be
additive
if the hardware requires it.
inline
The example below checks to ensure that permission has been granted to allow the user to use WebXR for an immersive virtual reality experience. No specific features are specified during this query; see
requiredFeatures
and
optionalFeatures
for more information on specifying features during a WebXR permission check.
let xrPermissionDesc = {
name: "xr",
mode: "immersive-vr"
};
if (navigator.permissions) {
navigator.permissions.query(xrPermissionDesc).then(({state}) => {
switch(state) {
case "granted":
setupXR();
break;
case "prompt":
promptAndSetupXR();
break;
默认:
/* do nothing otherwise */
break;
}
.catch(err) {
console.log(err);
}
} else {
setupXR();
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebXR 设备 API
The definition of 'XRPermissionDescriptor.mode' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
mode
|
Chrome No | Edge No | Firefox No | IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android No |
不支持
XRPermissionStatus
navigator.permissions
and
WorkerNavigator.permissions
权限
XRPermissionDescriptor
Navigator.xr
WebGLRenderingContext.makeXRCompatible()
XR
XRBoundedReferenceSpace
XRFrame
XRInputSource
XRInputSourceArray
XRInputSourceEvent
XRInputSourcesChangeEvent
XRPose
XRReferenceSpace
XRReferenceSpaceEvent
XRRenderState
XRRigidTransform
XRSession
XRSessionEvent
XRSpace
XRView
XRViewerPose
XRViewport
XRWebGLLayer