BatteryManager 接口提供方法获取系统电量。
navigator.getBattery
方法返回一个promise对象,该promise将提供一个BatteryManager接口,你可以从Battery Status API 查询到相关信息。
属性
BatteryManager.charging
只读- 一个布尔值,说明当前电池是否正在充电。
BatteryManager.chargingTime
只读- 一个数字,代表距离充电完毕还需多少秒,如果为0则充电完毕。
BatteryManager.dischargingTime
只读- 一个数字,代表距离电池耗电至空且挂起需要多少秒。
BatteryManager.level
只读- 一个数字,代表电量的放大等级,这个值在 0.0 至 1.0 之间。
事件处理器
BatteryManager.onchargingchange
chargingchange
事件处理器;电池充电状态更新时被调用。BatteryManager.onchargingtimechange
chargingtimechange
事件处理器;电池充电时间更新时被调用。BatteryManager.ondischargingtimechange
dischargingtimechange
事件处理器;电池断开充电时间更新时被调用。BatteryManager.onlevelchange
levelchange
事件处理器;电池电量更新时被调用。
方法
继承自EventTarget
:
EventTarget.addEventListener()
- 在EventTarget上注册特定事件类型的事件处理程序。
EventTarget.removeEventListener()
- EventTarget中删除事件侦听器。
EventTarget.dispatchEvent()
- 将事件分派到此EventTarget。
Mozilla chrome 代码的其他方法
Mozilla扩展,供JS实现的事件目标使用以 实现 on* 属性。另见 WebIDL bindings 绑定。
- void setEventHandler(DOMString type, EventHandler handler)
- EventHandler getEventHandler(DOMString type)
规格Specifications
Specification | Status | Comment |
---|---|---|
Battery Status API | Candidate Recommendation | Initial definition |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本支持 | 39.0 | 10 (10) moz 16 (16)[1] |
未实现 | 25 | 未实现 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
基本支持 | 未实现 | 40.0 | 10.0 (10) moz 16.0 (16)[1] |
未实现 | 25[2] | 未实现 | 42.0[2] |
[1] 在Firefox 10.0中默认无效,但可设定preference dom.battery.enabled
为true从而使其有效化。
自Firefox 11.0起,mozBattery默认有效。
Battery API现能被支持与Android,Windows,和安装了UPower的Linux。自Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15)也能支持MacOS。Firefox还为被弃用的navigator.battery
提供支持。
[2] BatteryManager.chargingTime
和BatteryManager.dischargingTime
的值总是等于无穷。