前言
Battery Status提供了有关系统充电级别的信息并提供了通过电池等级或者充电状态的改变提醒用户的事件。 这个可以在设备电量低的时候调整应用的资源使用状态,或者在电池用尽前保存应用中的修改以防数据丢失。
用法
Battery Status API 向 window.navigator
扩展了一个 navigator.getBattery
方法,其返回了一个battery promise, 完成后传递一个 BatteryManager 对象,并提供了一些新的可以操作电池状态的事件。同时我们可以通过监听 chargingchange
, levelchange
, chargingtimechange
, dischargingtimechange
事件完成时间的监听。
navigator.getBattery().then(function(battery) {
console.log("是否在充电? " + (battery.charging ? "yes" : "no"));
console.log("电量: " + battery.level * 100 + "%");
console.log("充电时间: " + battery.chargingTime + " s");
console.log("放电时间: " + battery.dischargingTime + "s");
});
使用场景
我们可以通过getBattery拿到设备电池信息,这个api非常有用,比如我们可以在用户电量不足时禁用网站动画或者停用一些耗时任务,亦或者是对用户做适当的提醒,改变网站颜色等,对于webapp中播放视频或者直播时,我们也可以用css画一个电量条,当电量告急时提醒用户.作为一个优秀的网站体验师,这一块还是不容忽视的。