Navigator: getBattery() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

getBattery() 方法提供有关系统电池的信息。它返回一个电池 Promise,该 Promise 会解析为一个 BatteryManager 对象,该对象提供了一些属性来获取电池状态,还提供了一些您可以处理的事件来监控电池状态。这实现了 电池状态 API;有关更多详细信息、API 使用指南和示例代码,请参阅该文档。

自 Chrome 103 起,电池状态 APINavigator.getBattery() 方法仅在安全上下文中公开。

注意:此功能的访问可能受到 Permissions-Policy 指令 battery 的控制。

语法

js
getBattery()

参数

无。

返回值

一个 Promise,它会fulfilled(解析)为一个 BatteryManager 对象,您可以使用该对象获取电池状态的信息。

异常

NotAllowedError DOMException

此功能的使用被 Permissions Policy 阻止了。

SecurityError DOMException

用户代理未向不安全上下文公开电池信息,并且此方法是从不安全上下文调用的。

示例

此示例获取电池的当前充电状态,并为 chargingchange 事件设置一个处理程序,以便在充电状态更改时记录该状态。

js
let batteryIsCharging = false;

navigator.getBattery().then((battery) => {
  batteryIsCharging = battery.charging;

  battery.addEventListener("chargingchange", () => {
    batteryIsCharging = battery.charging;
  });
});

有关更多示例和详细信息,请参阅 电池状态 API

规范

规范
Battery Status API
# dom-navigator-getbattery

浏览器兼容性

另见