L'API Battery Status ( Statut API Batterie ), souvent mentionnée sous le nom Battery API, fournit des informations sur le niveau de charge du système et permet d'envoyer des événements pour prévenir d'un changement du niveau de charge de la batterie. Cela peut être utilisé pour ajuster la consommation d'une application et la réduire pour réduire l'appel à la batterie lorsque son niveau de charge est bas ou encore de sauvegarder les données quand la batterie est bientôt vide.

L'API Battery Status API étend l'interface window.navigator avec la propriété window.navigator.battery , méthode qui renvoie un indice de disponibilité de la batterie,  résolue par l'objet BatteryManager. Cet objet permet d'ajouter des nouveaux événements pour superviser l'état de la batterie.

Exemple

Dans cet exemple, on cherche à surveiller les changements, à la fois du statut de la charge ( que l'équipement soit ou ne soit pas branché et en charge ) et des changements du niveau de charge dans le temps. Cela se fait en surveillant les événements :  chargingchange, levelchange, chargingtimechange, dischargingtimechange .

var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;

function updateBatteryStatus() {
  console.log("Batterie chargée à : " + battery.level * 100 + " %");

  if (battery.charging) {
    console.log("Chargement de la batterie"); 
  }
}

battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();

Voir aussi l'exemple contenu dans la spécification.

Spécifications

Spécification Statut Commentaire
Battery Status API Candidat au statut de recommandation Spécification initale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support basique

39.0

Pas de support

10 (10) moz [1]
16 (16) (without prefix) [2]
Pas de support 25 Pas de support
Fonctionalité Android Chrome Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support basique Pas de support 40.0 10.0 (10) moz [1]
16.0 (16) (without prefix) [2]
Pas de support Pas de support Pas de support

Notes Gecko

[1] désactivée par défaut dans Firefox 10.0, mais peut être activé réglant la préférence dom.battery.enabled à true. À partir de Firefox 11.0, mozBattery est activée par défaut pour mac le support est venus avec Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15).

[2] L'API batterie est actuellement supportée sur Android, Windows et Linux avec UPower installé. Support de MacOS est disponible à partir de Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15).

 

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 39.0 10 (10) moz
16 (16)[1]
43 (43)[3]
52 (52)[4]
Pas de support 25 Pas de support
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Pas de support 40.0

10.0 (10) moz
16.0 (16)[1]
43.0 (43)[3]
52.0 (52)[3]

Pas de support 25[2] Pas de support 42.0[2]

[1] Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provides support for the deprecated navigator.battery.

[2] Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.

[3] The new promise-based syntax for Navigator.getBattery() is supported from Firefox 43 onwards.

[4] From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : DTSSE, teoli, SphinxKnight
 Dernière mise à jour par : DTSSE,