XRSessionEvent

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

WebXR Device APIXRSessionEvent 接口描述了一个指示 XRSession 状态改变的事件。例如,当会话结束或其上下文可见性发生变化时,会发生这些事件。

Event XRSessionEvent

构造函数

XRSessionEvent()

创建一个并返回一个新的 XRSessionEvent 对象。

实例属性

除了继承自其父接口 Event 的属性外,XRSessionEvent 还提供了以下内容:

session 只读

事件所引用的 XRSession

实例方法

虽然 XRSessionEvent 没有定义任何方法,但它继承了其父接口 Event 的方法。

会话事件类型

以下事件使用 XRSessionEvent 接口表示,并且是其 type 属性允许的值。

end

当会话结束时(由应用程序或 用户代理 终止后)在会话上触发。

visibilitychange

每当会话的可见性状态发生变化时,在会话上触发。

示例

此示例创建了一个监听器,用于监视会话的可见性状态变化。它通过调用函数 mySessionVisible() 来响应,该函数会传入一个布尔值,指示会话是否可见;这个函数可能会启动或重新配置一个处理场景渲染的 worker。

js
xrSession.addEventListener("visibilitychange", (e) => {
  switch (e.session.visibilityState) {
    case "visible":
    case "visible-blurred":
      mySessionVisible(true);
      break;
    case "hidden":
      mySessionVisible(false);
      break;
  }
});

规范

规范
WebXR Device API
# xrsessionevent-interface

浏览器兼容性