API состояния батареи
Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
API состояния батареи, чаще называемый API батареи, предоставляет информацию о заряде батареи системы и позволяет получать уведомления об изменениях уровня заряда и состояния зарядки. Это может быть использовано для корректировки использования ресурсов приложения для уменьшения разряда батареи при низком заряде или для сохранения изменений перед разрядкой батареи, чтобы предотвратить потерю данных.
Примечание: Данный API не доступен в Web Workers (не экспонируется через WorkerNavigator).
Интерфейсы
BatteryManager-
Предоставляет информацию об уровне заряда батареи системы.
Расширения других интерфейсов
-
Возвращает
Promise, который разрешается объектомBatteryManager.
Пример
В этом примере мы следим за изменениями состояния зарядки (подключена ли батарея к зарядке) и уровня заряда, а также за изменениями времени. Это делается путем прослушивания событий chargingchange, levelchange, chargingtimechange, dischargingtimechange.
navigator.getBattery().then((battery) => {
function updateAllBatteryInfo() {
updateChargeInfo();
updateLevelInfo();
updateChargingInfo();
updateDischargingInfo();
}
updateAllBatteryInfo();
battery.addEventListener("chargingchange", () => {
updateChargeInfo();
});
function updateChargeInfo() {
console.log(`Battery charging? ${battery.charging ? "Yes" : "No"}`);
}
battery.addEventListener("levelchange", () => {
updateLevelInfo();
});
function updateLevelInfo() {
console.log(`Battery level: ${battery.level * 100}%`);
}
battery.addEventListener("chargingtimechange", () => {
updateChargingInfo();
});
function updateChargingInfo() {
console.log(`Battery charging time: ${battery.chargingTime} seconds`);
}
battery.addEventListener("dischargingtimechange", () => {
updateDischargingInfo();
});
function updateDischargingInfo() {
console.log(`Battery discharging time: ${battery.dischargingTime} seconds`);
}
});
См. также пример в спецификации.
Спецификации
| Спецификация |
|---|
| API состояния батареи |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Battery_Status_API |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
secure_context_required |
103 | 103 | Нет | Нет | Нет | 103 | Нет | 71 | Нет | 20.0 | 103 |
| Настольные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
Battery_Status_API |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
charging |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
chargingTime |
38 | 79 | 43–52 | 25 | Нет | 4238–42Всегда равно0 или Infinity. |
43–52 | 2925–29Всегда равно0 или Infinity. |
Нет | 4.03.0–4.0Всегда равно0 или Infinity. |
4238–42Всегда равно0 или Infinity. |
chargingchange_event |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
chargingtimechange_event |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
dischargingTime |
38 | 79 | 43–52 | 25 | Нет | 4238–42Всегда равноInfinity. |
43–52 | 2925–29Всегда равноInfinity. |
Нет | 4.03.0–4.0Всегда равноInfinity. |
4238–42Всегда равноInfinity. |
dischargingtimechange_event |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
level |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
levelchange_event |
38 | 79 | 43–52 | 25 | Нет | 38 | 43–52 | 25 | Нет | 3.0 | 38 |
secure_context_required |
103 | 103 | Нет | Нет | Нет | 103 | Нет | 71 | Нет | 20.0 | 103 |
api.BatteryManager
Таблицы BCD загружаются только в браузере
api.Navigator.getBattery
Таблицы BCD загружаются только в браузере
См. также
© 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/Battery_Status_API