Specifies an event listener to receive levelchange
events. These events occur when the battery level
is updated.
Syntax
navigator.battery.onlevelchange = funcRef
Where battery
is a BatteryManager
object, and funcRef
is a function to be called when the levelchange
event occurs.
Example
HTML Content
<div id="level">(battery level unknown)</div> <div id="stateBaterry">(charging state unknown)</div>
JavaScript Content
navigator.getBattery().then(function(battery) { battery.onlevelchange = function(){ document.querySelector('#level').textContent = battery.level; if(battery.charging) document.querySelector('#stateBaterry').textContent = "Charging time: " + (battery.chargingTime / 60); else document.querySelector('#stateBaterry').textContent = "Discharging time: " + (battery.dischargingTime / 60); }; });
Specifications
Specification | Status | Comment |
---|---|---|
Battery Status API | Candidate Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 39.0 | 10 (10) moz 16 (16)[1] 52 (52)[3] |
No support | 25 | No support |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | No support | 40.0 | 10.0 (10) moz 16.0 (16)[1] 52.0 (52)[3] |
No support | 25[2] | No 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 provide support for the deprecated navigator.battery
.
[2] Values for BatteryManager.chargingTime
and BatteryManager.dischargingTime
are always equal to Infinity
.
[3] From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.