🔋 Battery Status API – это интерфейс Web API, который позволяет веб-страницам получать информацию о состоянии батареи устройства пользователя. С его помощью можно узнать уровень заряда, подключено ли устройство к сети питания и оставшееся время работы.
📕 Дока на
MDNКакие возможности есть у Battery Status API:
🔖 level - проверка текущего уровня заряда батареи
🔖 charging - определение, подключено ли устройство к зарядке
🔖 chargingTime - оценка времени до полной зарядки
🔖 dischargingTime - оценка оставшегося времени работы от батареи
🛠 Пример использования
navigator.getBattery().then(battery => {
console.log(`Заряд: ${battery.level * 100}%`);
console.log(`Зарядка: ${battery.charging ? "Да" : "Нет"}`);
console.log(`Время до полной зарядки: ${battery.chargingTime} сек.`);
console.log(`Оставшееся время работы: ${battery.dischargingTime} сек.`);
});
🔄 Обновление данных в реальном времени
Можно подписаться на события изменения состояния батареи:
navigator.getBattery().then(battery => {
function updateBatteryStatus() {
console.log(`Заряд: ${battery.level * 100}%`);
console.log(`Зарядка: ${battery.charging ? "Да" : "Нет"}`);
}
battery.addEventListener("levelchange", updateBatteryStatus);
battery.addEventListener("chargingchange", updateBatteryStatus);
});
⚠️ Поддержка браузерами
Battery Status API поддерживается не во всех браузерах. Проверка поддержки в браузере:
if ("getBattery" in navigator) {
console.log("Battery API поддерживается!");
} else {
console.log("Battery API не поддерживается!");
}
💡Где может быть полезно?
- Оптимизация работы веб-приложений (например, уменьшение потребления ресурсов при низком заряде).
- Отображение уведомлений о разряде батареи пользователю.
- Автоматическое включение режима экономии энергии.