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

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

© 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