IdleDetector
Ограниченная доступность
Эта функция не относится к базовому уровню, так как она не работает в некоторых из самых широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Экспериментальная: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости с браузерами.
Примечание: Эта функция доступна в специализированных веб-воркерах.
Интерфейс IdleDetector API обнаружения бездействия предоставляет методы и события для обнаружения активности пользователя на устройстве или экране.
Этот интерфейс требует безопасного контекста.
Конструктор
-
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