Battery Status — API, продиктованный жизнью

Наверное, само существование такого программного интерфейса в историческом 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);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *