Sprawdzanie Battery Status API
Sprawdź czy Twoja przeglądarka obsługuje Battery Status API. Wyświetl aktualny poziom baterii, stan ładowania i szacowany czas. Narzędzie dla deweloperów. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćBattery Status API – testowanie obsługi baterii w przeglądarce
Battery Status API (W3C) pozwala aplikacjom webowym odczytać poziom baterii urządzenia przez JavaScript. Narzędzie testuje czy Twoja przeglądarka udostępnia te dane i wyświetla aktualne informacje: poziom naładowania, stan ładowania, czas do pełnego naładowania lub rozładowania.
Czym jest Battery Status API
Battery Status API (specyfikacja W3C) udostępnia JavaScript API: navigator.getBattery() zwraca Promise z obiektem BatteryManager. Właściwości: battery.level (0.0–1.0, poziom naładowania), battery.charging (boolean, czy ładuje), battery.chargingTime (sekundy do pełna), battery.dischargingTime (sekundy do rozładowania). Eventy: chargingchange, chargingtimechange, dischargingtimechange, levelchange.
Obsługa w przeglądarkach
Chrome: obsługiwany (Desktop i Android). Firefox: usunięty w v52+ (prywatność – fingerprinting). Safari: brak obsługi. Edge: obsługiwany (Chromium-based). Opera: obsługiwany. Uwaga: wiele przeglądarek celowo ogranicza lub usuwa API ze względu na privacy (bateria mogła być używana do fingerprinting użytkownika).
Przykład kodu JavaScript
navigator.getBattery().then(battery => { console.log(battery.level*100 + "%"); console.log(battery.charging ? "Ładowanie" : "Bateria"); console.log(battery.chargingTime + " s do pełna"); battery.addEventListener("levelchange", () => { console.log("Zmiana:", battery.level); }); });
Zastosowania Battery API
PWA (Progressive Web App): dostosuj zachowanie przy niskiej baterii (zmniejsz polling, odłącz WebSocket). Gry webowe: tryb oszczędzania energii. Analityka: sprawdź czy użytkownicy z niską baterią mają wyższy bounce rate. Powiadomienia: "Bateria niska – zapisz pracę". Monitoring: alertuj użytkownika przy < 20%.
Najczęstsze pytania
Dlaczego Firefox usunął Battery Status API?
W 2015 r. badacze (Olejnik et al.) wykazali że battery.level + battery.chargingTime + battery.dischargingTime = unikalny fingerprint urządzenia ze skutecznością ~67%. Dzięki temu trackerzy mogli śledzić użytkowników nawet po wyczyszczeniu cookies. Firefox usunął API w v52 (2017). Safari nigdy go nie zaimplementował. To jeden z nielicznych przypadków usunięcia zaakceptowanego standardu ze względu na prywatność.
Jak sprawdzić poziom baterii w Node.js?
Battery Status API działa tylko w przeglądarce. W Node.js: systeminformation (npm) – si.battery() zwraca hasBattery, percent, isCharging, timeRemaining. PowerShell (Windows): Get-WmiObject Win32_Battery. Linux: cat /sys/class/power_supply/BAT0/capacity. macOS: pmset -g batt.
Czy Battery API działa na telefonie?
Android Chrome: obsługiwany (fizyczna bateria). Android Firefox: usunięty. iOS Safari: brak obsługi. PWA na Androida z Chrome: dostęp do baterii możliwy. Ionic/Cordova: wtyczka cordova-plugin-battery-status (działa na iOS i Android).
Jak symulować niski poziom baterii w DevTools?
Chrome DevTools: zakładka Sensors (Cmd+Shift+P → "Sensors"). W sekcji Battery: mock battery level, charging state, charging/discharging time. Przydatne do testowania PWA z logiką battery-aware. Firefox: brak symulatora baterii (API usunięte).
Jakie inne API mogą naruszać prywatność?
Fingerprinting APIs: Canvas (unikalny rendering GPU), WebGL (renderer, vendor), AudioContext (AudioWorklet timing), Screen Resolution, Timezone, Language, Plugin list. Battery API był w tej grupie. Privacy Sandbox (Google): próba ograniczenia fingerprinting przy zachowaniu funkcjonalności reklamowej.
Powiązane narzedzia: tester WebGL i GPU, detektor funkcji przegladarki i tester rozdzielczosci ekranu.