窗口:vrdisplaypresentchange 事件

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

WebVR API 的 vrdisplaypresentchange 事件在 VR 显示器的呈现状态发生变化时触发——即,从正在呈现变为未呈现,反之亦然。

注意:此事件是旧版 WebVR API 的一部分。已被 WebXR Device API 取代。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("vrdisplaypresentchange", (event) => { })

onvrdisplaypresentchange = (event) => { }

事件类型

一个 VRDisplayEvent。继承自 Event

事件属性

VRDisplayEvent 也继承了其父对象 Event 的属性。

VRDisplayEvent.display 已弃用 只读

与此事件关联的 VRDisplay

VRDisplayEvent.reason 已弃用 只读

触发事件的人类可读原因。

示例

您可以在 addEventListener 方法中使用 vrdisplaypresentchange 事件

js
window.addEventListener("vrdisplaypresentchange", () => {
  info.textContent = vrDisplay.isPresenting
    ? "Display has started presenting."
    : "Display has stopped presenting.";
  reportDisplays();
});

或者使用 onvrdisplaypresentchange 事件处理程序属性

js
window.onvrdisplaypresentchange = () => {
  info.textContent = vrDisplay.isPresenting
    ? "Display has started presenting."
    : "Display has stopped presenting.";
  reportDisplays();
};

规范

此事件是旧版 WebVR API 的一部分,已被 WebXR Device API 取代。它已不再是标准的一部分。

在所有浏览器都实现新的 WebXR Device API 之前,建议依赖 A-FrameBabylon.jsThree.js 等框架,或者使用 polyfill 来开发可在所有浏览器中运行的 WebXR 应用程序。有关更多信息,请阅读 Meta 的从 WebVR 移植到 WebXR 指南。

浏览器兼容性

另见