VRDisplayEvent:reason 属性

已弃用:此功能不再推荐。虽然某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅此页面底部的兼容性表以指导您的决定。请注意,此功能可能随时停止工作。

非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为可能会在将来发生变化。

VRDisplayEvent 接口的 reason 只读属性返回一个关于事件触发原因的人类可读的解释。

注意:此属性是旧WebVR API 的一部分。它已被WebXR 设备 API 取代。

价值

一个字符串,表示事件触发的原因。可用的原因定义在VRDisplayEventReason 枚举中,如下所示:

  • mountedVRDisplay 已检测到用户已戴上它(或它已以其他方式被激活)。
  • navigation — 该页面已从允许该页面立即开始呈现的上下文中导航而来,例如从另一个已处于 VR 呈现模式的站点。
  • requested — 用户代理已请求启动 VR 呈现模式。这允许用户代理在不同的站点上包含一致的 UI 来进入 VR。
  • unmountedVRDisplay 已检测到用户已取下它(或它已以其他方式被休眠/置于待机状态)。

示例

js
window.addEventListener("vrdisplaypresentchange", (e) => {
  console.log(
    `Display ${e.display.displayId} presentation has changed. Reason given: ${e.reason}.`,
  );
});

规范

此属性是旧WebVR API 的一部分,已被WebXR 设备 API 取代。它不再有望成为标准。

在所有浏览器都实现新的WebXR API 之前,建议依赖框架(如A-FrameBabylon.jsThree.js)或polyfill 来开发可在所有浏览器中运行的 WebXR 应用程序[1]

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅