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.charging
Read only- A Boolean value indicating whether or not the battery is currently being charged.
BatteryManager.chargingTime
Read 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.dischargingTime
Read only- A number representing the remaining time in seconds until the battery is completely discharged and the system will suspend.
BatteryManager.level
Read 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
chargingchange
event; This event is sent when the battery charging state is updated. BatteryManager.onchargingtimechange
- A handler for the
chargingtimechange
event; This event is sent when the battery charging time is updated BatteryManager.ondischargingtimechange
- A handler for the
dischargingtimechange
event; This event is sent when the battery discharging time is updated. BatteryManager.onlevelchange
- A handler for the
levelchange
event; 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.