弃用
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 兼容性表格 at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

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.

注意: In some browsers access to this feature is controlled by Feature-Policy directive battery .

句法

var batteryPromise = navigator.getBattery();
					

返回值

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.

异常

This method doesn't throw true exceptions; instead, it rejects the returned promise, passing into it a DOMException whose 名称 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.
注意: 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 特征。

范例

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 .

规范

规范 状态 注释
Battery Status API
The definition of 'Navigator.getBattery()' in that specification.
候选推荐 初始定义

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
getBattery 弃用 Chrome 45 Edge 79 Firefox 43 — 52
不支持 43 — 52
From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
IE No Opera 25 Safari No WebView Android 45 Chrome Android 45 Firefox Android 43 — 52
不支持 43 — 52
From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android 25 Safari iOS No Samsung Internet Android 5.0

图例

完整支持

完整支持

不支持

不支持

弃用。不要用于新网站。

弃用。不要用于新网站。

见实现注意事项。

另请参阅

元数据

  • 最后修改: