--- title: Navigator.battery slug: Web/API/Navigator/battery translation_of: Web/API/Navigator/battery ---
{{ ApiRef("Battery API") }}{{deprecated_header}}
电池状态API,通常简称为电池API,该API能够让开发者访问用户系统的电池电量以及是否外接电源等电源状态信息,并且在电源状态发生变化时引发事件来开发者。开发者就可以在得知系统电量不足的时候降低你的网站上一些循环执行任务的频率,从而节约电量。或者在电量减少到某个级别的时候,自动保存页面上的一些数据,以防止用户的数据丢失。
电池状态API曾经暴露在{{domxref("window.navigator")}}的battery属性上,但是现在battery属性已经被移除,请使用标准方法{{DOMxRef("Navigator.getBattery","Navigator.getBattery()")}}来代替,该方法返回一个包裹电池状态对象的{{JSxRef("Promise")}}。
var battery = navigator.battery;
chargingtrue,其他情况,比如无法获取系统电池的充电状态,或者系统不使用电池,或者电池不在充电,都返回false.chargingTimedischargingTimelevelchargingchangecharging属性值发生改变时触发该事件.chargingtimechangechargingTime属性值发生改变时触发该事件.dischargingtimechangedischargingTime属性值发生改变时触发该事件.levelchangelevel属性值发生改变时触发该事件.查看规范中的这个例子.
var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
function updateBatteryStatus() {
alert("Battery status: " + battery.level * 100 + " %");
if (battery.charging) {
alert("Battery is charging");
}
}
battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Battery API')}} | {{Spec2('Battery API')}} | Initial specification. |
{{Compat("api.Navigator.battery")}}