Moderní tvorba webových aplikací

O webu

JavaScript Battery API

Jak v JS zjistit stav baterie, co dnes funguje a kdy API nepoužívat.

3 minuty

Některé operace a efekty na webové stránce mohou být náročné na hardware a následně lidově řečeno žrát baterku. Pomocí Battery Status API lze zjistit aktuální stav baterie a podle toho upravit chování aplikace (např. snížit frekvenci animací, odložit náročné výpočty, omezit synchronisace).

Podpora

Kvůli risikům pro soukromí byla podpora Battery Status API v některých prohlížečích omezena nebo odstraněna. Firefox jej odstranil od verze 52, Safari nepodporuje. V Chrome je dostupné pouze v secure contextu (HTTPS) a podpora se může měnit. API používejte jen tehdy, když přináší jasný užitek.

Prohlížeče: Chrome/Edge/Opera – omezeně podporováno, Firefox – odstraněno, Safari – nepodporováno.

Jak funguje

API je dostupné přes metodu navigator.getBattery(), která vrací objekt BatteryManager obsahující vlastnosti level, charging, chargingTime a dischargingTime a související události.

navigator.getBattery().then((battery) => {
  console.log(Math.round(battery.level * 100) + "%");
  console.log(battery.charging ? "Nabíjí se" : "Na baterii");
});

Živá ukázka

Ukázka bezpečně detekuje podporu API a průběžně zobrazuje stav. V nepodporovaných prohlížečích zobrazí informaci o nepodpoře.

Detekuji podporu…

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025