>> Technologie Électronique >  >> Téléphones portables et accessoires >> Batteries pour téléphones portables

Obtenir le niveau de batterie en JavaScript : API Battery Status

L'API Battery Status (`navigator.getBattery()`) fournit infos batterie dans navigateurs supportés (Chrome, Edge, Firefox, Opera ; pas Safari/iOS).

Utilisation basique

// Vérifier support
if ('getBattery' in navigator) {
  navigator.getBattery().then(battery => {
    // Niveau actuel (0.0 à 1.0)
    console.log(`Niveau batterie: ${Math.round(battery.level * 100)}%`);
    // État charge
    console.log(`En charge: ${battery.charging}`);
    console.log(`Temps charge: ${battery.chargingTime} sec`);
    console.log(`Temps décharge: ${battery.dischargingTime} sec`);
    // Écouteurs événements
    battery.addEventListener('levelchange', () => {
      console.log(`Niveau changé: ${battery.level}`);
    });
    battery.addEventListener('chargingchange', () => {
      console.log(`Charge: ${battery.charging}`);
    });
  });
} else {
  console.log('API Batterie non supportée');
}

Propriétés clés

  • level: 0.0–1.0 (×100 pour %).
  • charging: booléen.
  • chargingTime: secondes jusqu'à plein (Infinity si pas en charge).
  • dischargingTime: secondes jusqu'à vide (Infinity si en charge).

Limites & Vie privée

  • Risque fingerprinting : API peut identifier utilisateurs. Navigateurs peuvent arrondir/quantifier (ex: pas 10%).
  • Pas support Safari/iOS. Utilisez fallback (user agent, UI générique).
  • Contexte sécurisé requis : HTTPS ou localhost.
  • Desktop : Retourne souvent 1.0 / charging=true (pas batterie).

Polyfill / Alternative

Pour multi-plateforme, utilisez librairie UI qui dégrade gracieusement ou détection appareil côté serveur (pas temps réel).

Batteries pour téléphones portables