XRSession: visibilityState 属性
XRSession 接口的 **visibilityState** 属性是只读的,它是一个字符串,表示 WebXR 内容当前是否对用户可见,如果可见,是否是主要焦点。
每次可见状态发生变化时,都会在 XRSession 对象上触发一个 visibilitychange 事件。
值
一个字符串,指示 XR 内容是否对用户可见,如果可见,是否是当前的主要焦点。
visibilityState 的可能值为:
-
由
XRSession生成的虚拟场景当前对用户不可见,因此直到visibilityState更改之前,其requestAnimationFrame()回调函数不会被执行。该会话的输入控制器不会被处理。 visible-
由
XRSession渲染的虚拟场景当前对用户可见,并且是用户注意力的主要焦点。为此,该会话的requestAnimationFrame()回调函数将以 XR 设备的本机刷新率进行处理,输入控制器也将正常处理。 visible-blurred-
尽管由
XRSession渲染的虚拟场景当前可能对用户可见,但它并不是用户当前的主要焦点;会话也可能根本不可见。为了优化资源利用,用户代理可能会以节流速率处理该会话的requestAnimationFrame()回调函数。该会话的输入控制器不会被处理。
用法说明
需要注意的是,由于沉浸式 WebXR 会话可能使用与运行它的 HTML 文档不同的显示器(例如,在头显上显示时),因此会话的 visibilityState 的值不一定与其所属的document 的 visibilityState 相同。例如,如果查看者正在使用连接到计算机的头显,并且沉浸式场景被配置 UI 遮挡,用户可以从头显后面窥视,仍然可以在他们计算机的显示器上看到文档本身。
规范
| 规范 |
|---|
| WebXR Device API # dom-xrsession-visibilitystate |
浏览器兼容性
加载中…