JavaScript Battery API

Battery API bylo aktualizováno; přečtěte si aktualizaci JavaScript Battery API, abyste viděli nový vzor kódu!

Mozilla Aurora 11 byla nedávno vydána s řadou nových funkcí. Jednou z těchto skvělých nových funkcí je jejich počáteční implementace Battery Status API. Toto jednoduché API vám poskytuje informace o aktuální úrovni nabití baterie, jejím stavu nabití a umožňuje vám být informováni o změnách prostřednictvím několika událostí. Pojďme se na to podívat!

Zobrazit ukázku

Objekt baterie se nachází na window.navigator.battery , ale protože se jedná o počáteční nabídku Mozilly a rozhraní API ještě není stmeleno, budete muset použít window.navigator.mozBattery . Užitečné mozBattery vlastnosti zahrnují:

  • charging: Představuje, zda se baterie systému nabíjí. Atribut musí být nastaven na hodnotu false, pokud se baterie vybíjí, a na hodnotu true, pokud se baterie nabíjí, je plná, implementace není schopna hlásit stav nebo není k systému připojena žádná baterie nebo jinak.
  • chargingTime: Představuje čas zbývající v sekundách do úplného nabití baterie systému.
  • dischargingTime: Představuje čas v sekundách zbývající do úplného vybití baterie systému a do pozastavení systému.
  • level: Představuje aktuální úroveň nabití baterie v rozsahu od 0 do 1,0. Atribut musí být nastaven na 0, pokud je baterie systému vybitá a systém má být pozastaven, a na 1,0, pokud je baterie plná, implementace není schopna hlásit úroveň baterie nebo není k systému připojena žádná baterie. .

K dispozici jsou události pro každý z těchto stavů, včetně onchargingchange , onchargingtimechange , ondischargingtimechange a onlevelchange . Základní použití je jednoduché:

// Get the battery!
var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;

// A few useful battery properties
console.warn("Battery charging: ", battery.charging); // true
console.warn("Battery level: ", battery.level); // 0.58
console.warn("Battery discharging time: ", battery.dischargingTime);

// Add a few event listeners
battery.addEventListener("chargingchange", function(e) {
	console.warn("Battery charge change: ", battery.charging);
}, false);
battery.addEventListener("chargingtimechange", function(e) {
	console.warn("Battery charge time change: ", battery.chargingTime);
}, false);
battery.addEventListener("dischargingtimechange", function(e) {
	console.warn("Battery discharging time change: ", battery.dischargingTime);
}, false);
battery.addEventListener("levelchange", function(e) {
	console.warn("Battery level change: ", battery.level);
}, false);

Slíbil jsem jednoduché API, ne? Baterie API je perfektní API:jednoduché, efektivní a zaměřené!

Zobrazit ukázku

Proč tedy používat API baterie? Protože mnoho mobilních aplikací žije uvnitř obalu prohlížeče (nejsou zcela „nativní“), je skvělé mít přístup k systémovým informacím. Některé procesy jsou náročné na energii a může být nutné upozornit uživatele před zahájením procesu, že jeho zařízení má nízkou kapacitu baterie. Ať tak či onak, skutečná užitečnost tohoto jednoduchého API by se měla brzy projevit!