Spec-Zone.ru › Web APIs

IdleDetector

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

Эта функция не относится к базовому уровню, так как она не работает в некоторых из самых широко используемых браузеров.

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

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

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

Примечание: Эта функция доступна в специализированных веб-воркерах.

Интерфейс IdleDetector API обнаружения бездействия предоставляет методы и события для обнаружения активности пользователя на устройстве или экране.

Этот интерфейс требует безопасного контекста.

EventTarget IdleDetector

Конструктор

IdleDetector() Экспериментальная

Создаёт новый объект IdleDetector.

Свойства экземпляра

IdleDetector.userState Только чтение Экспериментальная

Возвращает строку, указывающую, взаимодействовал ли пользователь с экраном или устройством в течение порога, заданного для start(), одного из "active" или "idle". Это свойство возвращает null до вызова start().

IdleDetector.screenState Только чтение Экспериментальная

Возвращает строку, указывающую, заблокирован ли экран, одно из "locked" или "unlocked". Это свойство возвращает null до вызова start().

События

change Экспериментальная

Вызывается при изменении значения userState или screenState.

Статические методы

IdleDetector.requestPermission() Экспериментальная

Возвращает Promise, который разрешается, когда пользователь выбрал, предоставить ли источнику доступ к своему состоянию бездействия. Разрешается с "granted" при принятии и "denied" при отклонении.

Методы экземпляра

IdleDetector.start() Экспериментальная

Возвращает Promise, который разрешается при запуске детектирования изменений состояния бездействия пользователя. userState и screenState получают начальные значения. Этот метод принимает необъект options с threshold в миллисекундах, когда должно быть сообщено о бездействии, и signal для AbortSignal отмены детектора бездействия.

Примеры

В следующем примере показано создание детектора и регистрация изменений состояния бездействия пользователя. Используется кнопка для получения необходимой активации пользователя перед запросом разрешения.

const controller = new AbortController();
const signal = controller.signal;

startButton.addEventListener("click", async () => {
  if ((await IdleDetector.requestPermission()) !== "granted") {
    console.error("Idle detection permission denied.");
    return;
  }

  try {
    const idleDetector = new IdleDetector();
    idleDetector.addEventListener("change", () => {
      const userState = idleDetector.userState;
      const screenState = idleDetector.screenState;
      console.log(`Idle change: ${userState}, ${screenState}.`);
    });

    await idleDetector.start({
      threshold: 60_000,
      signal,
    });
    console.log("IdleDetector is active.");
  } catch (err) {
    // Deal with initialization errors like permission denied,
    // running outside of top-level frame, etc.
    console.error(err.name, err.message);
  }
});

stopButton.addEventListener("click", () => {
  controller.abort();
  console.log("IdleDetector is stopped.");
});

Спецификации

Спецификация
API обнаружения бездействия
# api-idledetector

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
IdleDetector 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
IdleDetector 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
change_event 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
requestPermission_static 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
screenState 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
start 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94
userState 94 11494–96 Нет 80 Нет 94 Нет 66 Нет 17.0 94

© 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/IdleDetector

Spec-Zone.ru

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