Spec-Zone.ru › Web APIs

XRSession: событие visibilitychange

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех наиболее распространённых браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология .
Перед использованием в продуктовой среде внимательно проверьте таблицу совместимости браузеров.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Событие visibilitychange отправляется XRSession, чтобы уведомить его о том, когда он становится видимым или скрытым, или когда он становится видимым, но не находится в фокусе. Получив событие, вы можете проверить значение свойства состояния видимости сессии visibilityState, чтобы определить новое состояние видимости.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика событий.

addEventListener("visibilitychange", (event) => {});

onvisibilitychange = (event) => {};

Тип события

XRSessionEvent. Наследуется от Event.

Событие XRSessionEvent

Свойства события

В дополнение к свойствам, перечисленным ниже, доступны свойства из родительского интерфейса 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API