XRSessionEvent - 表示 XRSession 状态更改的事件
XRSessionEvent
是 WebXR 设备 API 的接口,表示 XRSession
状态更改的事件。这些事件发生在会话结束或其上下文的可见性更改时。
构造函数
XRSessionEvent()
创建并返回一个新的 XRSessionEvent
对象,该对象使用指定的 XRSessionEventInit
对象的值(如果有)进行配置。
属性
除了从其父接口 Event
继承的属性之外, XRSessionEvent
还包含以下属性:
session
只读
事件引用的 XRSession
。
方法
虽然 XRSessionEvent
没有自定义方法,但它从其父接口 Event
继承了方法。
会话事件类型
以下事件是使用 XRSessionEvent
接口表示的,并且是其 type
属性的允许值。
end
在应用程序或 用户代理 终止后,在会话结束时触发该会话。
visibilitychange
每当其可见性状态更改时,在会话上触发。
实例
本实例创建一个侦听器,该侦听器监视会话的可见性状态是否更改。它通过调用带有布尔值参数的 mySessionVisible()
函数来作出反应,该布尔值指示会话是否可见;例如,此功能可能会启动或重新配置处理场景渲染的工作线程。
xrSession.addEventListener("visibilitystate", e => {
switch(e.session.visibilitystate) {
case "visible":
case "visible-blurred":
mySessionVisible(true);
break;
case "hidden":
mySessionVisible(false);
break;
}
});
规范
规范 | 状态 | 备注 |
---|---|---|
WebXR Device API XRSessionEvent 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
XRSessionEvent() 构造函数 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
session | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
XRSessionEvent() 构造函数 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
session | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |