XRSession: visibilityState 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

XRSession 介面的 **visibilityState** 屬性是隻讀的,它是一個字串,表示 WebXR 內容當前是否對使用者可見,如果可見,是否是主要焦點。

每次可見狀態發生變化時,都會在 XRSession 物件上觸發一個 visibilitychange 事件。

一個字串,指示 XR 內容是否對使用者可見,如果可見,是否是當前的主要焦點。

visibilityState 的可能值為:

hidden

XRSession 生成的虛擬場景當前對使用者不可見,因此直到 visibilityState 更改之前,其 requestAnimationFrame() 回撥函式不會被執行。該會話的輸入控制器不會被處理。

visible

XRSession 渲染的虛擬場景當前對使用者可見,並且是使用者注意力的主要焦點。為此,該會話的 requestAnimationFrame() 回撥函式將以 XR 裝置的本機重新整理率進行處理,輸入控制器也將正常處理。

visible-blurred

儘管由 XRSession 渲染的虛擬場景當前可能對使用者可見,但它並不是使用者當前的主要焦點;會話也可能根本不可見。為了最佳化資源利用,使用者代理可能會以節流速率處理該會話的 requestAnimationFrame() 回撥函式。該會話的輸入控制器不會被處理。

用法說明

需要注意的是,由於沉浸式 WebXR 會話可能使用與執行它的 HTML 文件不同的顯示器(例如,在頭顯上顯示時),因此會話的 visibilityState 的值不一定與其所屬的documentvisibilityState 相同。例如,如果檢視者正在使用連線到計算機的頭顯,並且沉浸式場景被配置 UI 遮擋,使用者可以從頭顯後面窺視,仍然可以在他們計算機的顯示器上看到文件本身。

規範

規範
WebXR Device API
# dom-xrsession-visibilitystate

瀏覽器相容性

另見