XRSession: событие visibilitychange
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех наиболее распространённых браузерах.
Экспериментально: Это экспериментальная технология .
Перед использованием в продуктовой среде внимательно проверьте таблицу совместимости браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Событие visibilitychange отправляется XRSession, чтобы уведомить его о том, когда он становится видимым или скрытым, или когда он становится видимым, но не находится в фокусе. Получив событие, вы можете проверить значение свойства состояния видимости сессии visibilityState, чтобы определить новое состояние видимости.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика событий.
addEventListener("visibilitychange", (event) => {});
onvisibilitychange = (event) => {};
Тип события
XRSessionEvent. Наследуется от Event.
Свойства события
В дополнение к свойствам, перечисленным ниже, доступны свойства из родительского интерфейса Event.
-
sessionТолько для чтения -
XRSessionсессия, к которой относится событие.
Описание
Триггер
Срабатывает, когда XRSession становится видимым или скрытым, или когда он становится видимым, но не находится в фокусе.
Когда XRSession получает это событие, состояние видимости уже изменилось.
Сценарии использования
Получив событие, вы можете проверить значение свойства состояния видимости сессии visibilityState, чтобы определить новое состояние видимости.
Примеры
В этом примере показано, как прослушивать событие visibilitychange в WebXR-сессии, используя addEventListener() для начала прослушивания события:
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(), с булевым параметром, указывающим, отображается ли в данный момент сессия пользователю.
Вы также можете создать обработчик событий, назначив его свойству обработчика событий onvisibilitychange сессии XRSession:
xrSession.onvisibilitychange = (e) => {
/* event handled here */
};
Спецификации
| Спецификация |
|---|
| WebXR Device API # eventdef-xrsession-visibilitychange |
| WebXR Device API # dom-xrsession-onvisibilitychange |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
visibilitychange_event |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRSession/visibilitychange_event