WakeLockSentinel
Ограниченная доступность
Эта функция не относится к Базовому набору, так как она не работает во всех наиболее распространённых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Интерфейс WakeLockSentinel API Блокировки экрана может использоваться для мониторинга состояния блокировки экрана платформы и ручного отключения блокировки при необходимости.
Блокировка экрана предотвращает затемнение или блокировку экрана устройства, когда приложение должно продолжать работу.
Блокировка экрана запрашивается с помощью метода navigator.wakeLock.request(), который возвращает Promise, который выполняется с объектом WakeLockSentinel, если блокировка предоставлена.
Полученную блокировку экрана можно вручную отключить через метод release() или автоматически через блокировку экрана платформы. Последнее может произойти, если документ станет неактивным или потеряет видимость, если устройство испытывает низкий уровень заряда или если пользователь включил режим экономии энергии. Освобожденный WakeLockSentinel не может быть повторно использован: новый сентиннель должен быть запрошен с помощью navigator.wakeLock.request(), если нужна новая блокировка. Отключение всех WakeLockSentinel экземпляров данного типа блокировки приведет к отключению базовой блокировки платформы.
При отключении платформенной блокировки на WakeLockSentinel генерируется событие, позволяющее приложениям настроить свой интерфейс и повторно запросить блокировку при необходимости.
Свойства экземпляра
Также наследует свойства от родительского интерфейса EventTarget.
-
releasedТолько для чтения -
Возвращает значение булевого типа, указывающее, была ли
WakeLockSentinelосвобождена. -
typeТолько для чтения -
Возвращает строковое представление текущего типа приобретённой
WakeLockSentinel. Возможные значения:-
screen: Блокировка экрана. Предотвращает затемнение или блокировку экрана устройств.
-
Методы экземпляра
Также наследует методы от родительского интерфейса EventTarget.
События
Примеры
В этом примере мы создаём асинхронную функцию, которая запрашивает WakeLockSentinel. После того, как блокировка экрана будет получена, мы слушаем событие release, которое можно использовать для соответствующей обратной связи в пользовательском интерфейсе. Сентиннель можно получить или освободить с помощью соответствующих взаимодействий.
// create a reference for the wake lock
let wakeLock = null;
// create an async function to request a wake lock
const requestWakeLock = async () => {
try {
wakeLock = await navigator.wakeLock.request("screen");
// listen for our release event
wakeLock.addEventListener("release", () => {
// if wake lock is released alter the UI accordingly
});
} catch (err) {
// if wake lock request fails - usually system related, such as battery
}
};
wakeLockOnButton.addEventListener("click", () => {
requestWakeLock();
});
wakeLockOffButton.addEventListener("click", () => {
if (wakeLock !== null) {
wakeLock.release().then(() => {
wakeLock = null;
});
}
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | |
WakeLockSentinel |
84 | 84 | 126 | 70 | 16.4 | 84 | 126 | 60 | 16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545. |
14.0 | 84 |
release |
84 | 84 | 126 | 70 | 16.4 | 84 | 126 | 60 | 16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545. |
14.0 | 84 |
release_event |
84 | 84 | 126 | 70 | 16.4 | 84 | 126 | 60 | 16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545. |
14.0 | 84 |
released |
87 | 87 | 126 | 73 | 16.4 | 87 | 126 | 62 | 16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545. |
14.0 | 87 |
type |
84 | 84 | 126 | 70 | 16.4 | 84 | 126 | 60 | 16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545. |
14.0 | 84 |
См. также
© 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/WakeLockSentinel