Navigator.getBattery()
The getBattery()
method provides information about the
system's battery. It returns a battery promise, which is resolved in a
BatteryManager
object providing also some new events you can handle to
monitor the battery status. This implements the Battery Status API; see that
documentation for additional details, a guide to using the API, and sample code.
Note: In some browsers access to this feature is controlled by the Feature-Policy
directive battery
.
Syntax
navigator.getBattery()
Return value
A Promise
which, when resolved, calls its fulfillment handler with a
single parameter: a BatteryManager
object which you can use to get
information about the battery's state.
Exceptions
This method doesn't throw true exceptions; instead, it rejects the returned promise, passing into it a DOMException
whose name
is one of the following:
SecurityError
-
The User Agent does not expose battery information to insecure contexts and this method was called from insecure context.
Note: Old versions of some User Agents might allow use of this feature in insecure contexts.
NotAllowedError
-
No User Agent currently throws this exception, but the specification describes the following behaviors:
This document is not allowed to use this feature. For example, it might not be explicitly allowed or restricted via
Feature-Policy
battery
feature.
Example
This example fetches the current charging state of the battery and establishes a
handler for the chargingchange
event, so that the charging state is
recorded whenever it changes.
let batteryIsCharging = false;
navigator.getBattery().then(function(battery) {
batteryIsCharging = battery.charging;
battery.addEventListener('chargingchange', function() {
batteryIsCharging = battery.charging;
});
});
For more examples and details, see Battery Status API.
Specifications
Specification |
---|
Battery Status API # dom-navigator-getbattery |
Browser compatibility
BCD tables only load in the browser
See also
- Battery Status API
-
Feature-Policy
battery
feature