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 Feature-Policy
directive battery
.
Syntax
var batteryPromise = 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
-
Note: 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
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getBattery |
38 |
79 |
43-52 |
No |
25 |
No |
38 |
38 |
43-52 |
25 |
No |
3.0 |
See also
- Battery Status API
-
Feature-Policy
battery
feature
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getBattery