The BatteryManager interface provides ways to get information about the system's battery charge level.
The navigator.getBattery() method returns a battery promise that is resolved in a BatteryManager interface which you can use to interact with the Battery Status API.
Properties
- BatteryManager.chargingRead only
- A Boolean value indicating whether or not the battery is currently being charged.
- BatteryManager.chargingTimeRead only
- A number representing the remaining time in seconds until the battery is fully charged, or 0 if the battery is already fully charged.
- BatteryManager.dischargingTimeRead only
- A number representing the remaining time in seconds until the battery is completely discharged and the system will suspend.
- BatteryManager.levelRead only
- A number representing the system's battery charge level scaled to a value between 0.0 and 1.0.
Event handlers
- BatteryManager.onchargingchange
- A handler for the chargingchangeevent; This event is sent when the battery charging state is updated.
- BatteryManager.onchargingtimechange
- A handler for the chargingtimechangeevent; This event is sent when the battery charging time is updated
- BatteryManager.ondischargingtimechange
- A handler for the dischargingtimechangeevent; This event is sent when the battery discharging time is updated.
- BatteryManager.onlevelchange
- A handler for the levelchangeevent; This event is sent when the battery level is updated.
Methods
Inherited from EventTarget:
- EventTarget.addEventListener()
- Register an event handler of a specific event type on the EventTarget.
- EventTarget.removeEventListener()
- Removes an event listener from the EventTarget.
- EventTarget.dispatchEvent()
- Dispatch an event to this EventTarget.
Additional methods for Mozilla chrome code
Mozilla extensions for use by JS-implemented event targets to implement on* properties. See also WebIDL bindings.
- void setEventHandler(DOMString type, EventHandler handler)
- EventHandler getEventHandler(DOMString type)
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.