Наверное, само существование такого программного интерфейса в историческом 2004 году довело бы членов консорциума W3C до инфаркта, но все меняется очень быстро, и сегодня, спустя всего 8 лет, возможность доступа из JavaScript-кода к аккумуляторам планшета или коммуникатора — просто веление времени. Применений этой технологии можно придумать много — переключение на менее нагруженный 3D-графикой интерфейс при недостаточном заряде батареи, автосохранение введенного текста при рискованном «времени жизни», просто оповещение пользователя о низком заряде.
Ключевая роль в API, реализованном, правда, на настоящий момент только в браузере Mozilla Firefox (с 17-й версии — на всех поддерживаемых платформах), принадлежит объекту navigator. battery. Он обладает следующими свойствами:
— evel — определяет уровень заряда батареи (от нуля до единицы);
— charging — показывает подключение к зарядному устройству (true/false);
— chargingTime — количество времени, оставшегося до полной зарядки;
— dischargingTime — оставшееся время работы от батареи. Попробуем их в деле (предварительно отключив ноутбук от сети):
<script > var battery
If(battery = navigator. mozBattery){
$message = "Уровень заряда: ”+Math. round(battery. level * 100) + ”%”+’n’; $message += "Подключение: "+battery. charging+’n’;
$message += "До полной зарядки: "+battery. chargingTime+’n’;
$message += "Осталось работать: "+Math. round(battery. dischargingTime / 60)+"мин";
Alert($message);
}else{
Alert("Battery Status API не передерживается");
}
</script>
Используем vendor prefix для Mozilla Firefox, так как поддержки этого API в других браузерах пока нет. Результат можно видеть на рис. 127.
Это еще не все. С объектом navigator. battery связаны следующие события:
— onchargingchange — изменение значения заряда батареи;
— onchargingtimechange — изменение времени, оставшегося до полной зарядки батареи;
— ondischargingtimechange — изменение времени, оставшегося до полной разрядки батареи;
— onlevelchange — изменение значения уровня заряда батареи. Использовать их довольно просто:
Battery. addEventListener("dischargingtimechange", function (e) { if (!battery. charging) { if(battery. level <0.1){
Alert(“Срочно зарядите батарею!):
}
}
}, false);
Добавить комментарий