
Как известно, в W3C идёт работа
над черновиком стандарта
Battery API, реализация которого позволит джаваскрипту в браузере наблюдать за уровнем заряда аккумуляторной батареи в том мобильном устройстве (мобильнике, планшете, нетбуке, ноутбуке и так далее), на котором браузер запущен.
Речь идёт о появлении объекта
navigator.battery со свойствами
navigator.battery.charging (логическое; равно
true, когда устройство подзаряжается)
и navigator.battery.level (число
от 0.0 до 1.0, выражающее величину заряда батареи по отношению к максимальному заряду её). Оба свойства — только для чтения. У этого объекта также будут события, позволяющие наблюдать за изменениями состояния батареи примерно так:
navigator.battery.addEventListener('chargingchange', function () {
if (navigator.battery.charging) {
console.log('Устройство только что воткнули в розетку.');
}
}, false);
В конце осени нынешнего (2011) года соответствующий объект (под именем
navigator.mozBattery) добавили в объектную модель Файерфокса одиннадцатой версии
(см. баг 678694); её появления
по графику следует ожидать в середине марта будущего (2012) года, а бету мы увидим в сáмом начале февраля. Жду с нетерпением, потому что мобильный Firefox одиннадцатой версии вообще обещает заблистать множеством изменений по сравнению с десятым.
Подробности о реализации нового объекта
изложены в MozillaWiki. Явствует, что спервоначалу событий будет всего два:
chargingchange (когда батарейка начинает
или, наоборот, перестаёт заряжаться)
и levelchange (когда уровень заряда меняется на 1%).
В черновике из W3C ужé запроектированы также два дополнительных свойства
(chargingTime и dischargingTime) для оценки предполагаемого времени, остающегося до полного заряда (или критического разряда) аккумулятора, а с ними и события
(onchargingtimechange да ondischargingtimechange) на случай изменения этой оценки.