XRSession: visibilitychange 事件
visibilitychange 事件傳送給一個 XRSession 物件,以通知它何時變為可見或隱藏,或者何時變為可見但當前未獲得焦點。收到事件後,您可以檢查會話的 visibilityState 屬性值來確定新的可見性狀態。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("visibilitychange", (event) => { })
onvisibilitychange = (event) => { }
事件型別
一個 XRSessionEvent。繼承自 Event。
事件屬性
除了下面列出的屬性之外,父介面 Event 的屬性也可使用。
描述
觸發
當 XRSession 變得可見或隱藏,或者變得可見但當前未獲得焦點時觸發。
當 XRSession 收到此事件時,可見性狀態已發生更改。
用例
收到事件後,您可以檢查會話的 visibilityState 屬性值來確定新的可見性狀態。
示例
此示例演示瞭如何使用 addEventListener() 監聽 WebXR 會話上的 visibilitychange 事件。
js
navigator.xr.requestSession("inline").then((xrSession) => {
xrSession.addEventListener("visibilitychange", (e) => {
switch (e.session.visibilityState) {
case "visible":
case "visible-blurred":
mySessionVisible(true);
break;
case "hidden":
mySessionVisible(false);
break;
}
});
});
當可見性狀態發生變化時,事件將被接收並分派到一個名為 mySessionVisible() 的函式,該函式帶有一個布林引數,指示會話當前是否顯示給使用者。
您也可以透過將其分配給 XRSession 的 onvisibilitychange 事件處理程式屬性來建立事件處理程式,如下所示:
js
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
規範
| 規範 |
|---|
| WebXR Device API # eventdef-xrsession-visibilitychange |
| WebXR Device API # dom-xrsession-onvisibilitychange |
瀏覽器相容性
載入中…