目前电池API依旧没有得到主流支持。因此,在使用这个API前需要确认当前设备是否支持此API。下面展示的函数返回一个布恩值(True/False),指示当前浏览器是否支持电池状态API。
该函数首先检测了 navigator.battery 对象是否存在。如果不存在,继续检测 Mozilla 专用的
navigator.mozBattery是否存在。我曾经见过有些代码还检测了 webkitBattery对象,但是我无法证实其在Chrome中是否存在。
参考文档:https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery
XML/HTML Code复制内容到剪贴板
- functionisBatteryStatusSupported() {
- return!!(navigator.battery || navigator.mozBattery);
- }
检查电池
如果电池对象存在,它会包含下列四个只读属性。
如果系统不存在电池,或无法确定电池是否在充电,返回值是 True
当电池完全被充满电时,或者系统不存在电池时,这个值为0。
如果系统不在充电,或者无法确定完全充满电所需时间,这个值为∞(无穷大)。
如果放电时间无法确定,或 系统没有电池 或 系统正在充电,这个值为 ∞ (无穷大)
1.0表示电池完全充满电,或者不存在电池,或者数值无法确定。
检测电池事件
上述所有属性都与一个电池事件绑定。这些事件用来指示电池状态的变化。比如,插入电源会使charging属性从false变为true。全部四种电池事件如下所列:
示例页面
下面的代码展示了如何使用 电池状态API 的属性和事件。
示例页面显示了API的各个属性值,并且在事件触发时更新它们的值。
点击此处访问在线示例。
XML/HTML Code复制内容到剪贴板
The Battery Status API - Example - Your battery is currently
.
- Your battery will be charged in
seconds.
- Your battery will be discharged in
seconds.
- Your battery level is
%.