Navigator:getBattery() 方法
getBattery()
方法提供了系统的电量信息,它返回一个 battery 的 promise 对象,兑现后得到 BatteryManager
对象,它提供了一些新的事件和方法以方便你监控电池的状态。这个方法实现了电源状态 API,参见那篇文档,以获得更多细节、使用方法和实例代码。
备注: 对该特性的访问可能由 Permissions-Policy
标头的 battery
(en-US) 指令控制。
语法
js
getBattery()
参数
无。
返回值
一个 Promise
值,当兑现时会得到含有电源状态信息的 BatteryManager
对象。
异常
NotAllowedError
DOMException
-
对该特性的使用被权限策略阻止。
SecurityError
-
用户代理不会向不安全上下文暴露电源信息,而此方法在不安全的上下文中被调用了。
示例
此示例获取了电源当前充电的状态,并建立了 chargingchange
(en-US) 事件的处理器,当充电状态发生变化时,其状态会被记录下来。
js
let batteryIsCharging = false;
navigator.getBattery().then((battery) => {
batteryIsCharging = battery.charging;
battery.addEventListener("chargingchange", () => {
batteryIsCharging = battery.charging;
});
});
对于更多示例与具体信息,参见电源状态 API。
规范
Specification |
---|
Battery Status API # dom-navigator-getbattery |
浏览器兼容性
BCD tables only load in the browser
参见
- 电源状态 API
Permissions-Policy
battery
(en-US) 特性