Navigator.getBattery()

Deprecated
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

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 Status Comment
Battery Status API
The definition of 'Navigator.getBattery()' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getBattery
Deprecated
Chrome Full support 45Edge Full support 79Firefox No support 43 — 52
Notes
No support 43 — 52
Notes
Notes From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 45Chrome Android Full support 45Firefox Android No support 43 — 52
Notes
No support 43 — 52
Notes
Notes From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support NoSamsung Internet Android Full support 5.0

Legend

Full support
Full support
No support
No support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

See also