JavaScript实现电池状态的方法


本文摘自PHP中文网,作者coldplay.xixi,侵删。

【相关图文推荐:js教程(图文)】

从Mozilla Aurora 11起,火狐浏览器里实现了一些新功能,其中一个就是对电池状态接口的基本实现。这个很简单的接口能提供你关于电池当前电量,是否在充电等信息,以及一些电池状态变化事件。让我们来看看效果!

电池对象是存放在window.navigator.battery里,但因为这是火狐浏览器首次实现并提供这个接口,并未普及,你需要使用window.navigator.mozBattery这种写法。这个mozBattery对象有下列属性:

  • charging: 表示当前电池设备是否在充电。如果电池没有充电,这个值为false。如果为true,表明电池正在充电。当前的API实现里不能得到是否充满的信息,也无法判断当前设备是否有电池。
  • chargingTime: 是指距离电池充满还需要多久。
  • dischargingTime: 电池已使用时间
  • level: 表示电量等级,从0到1.0。当这个值为0时,表示电量耗尽,系统即将关机。如果为1.0,则表示电池满电。

针对这些状态,接口里提供了各自相应的事件,包括onchargingchange, onchargingtimechange, ondischargingtimechange, 和 onlevelchange。基本的用法很简单:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

// 获取电池对象!

var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;

 

// 显示一些有用属性值

console.warn("电池充电状态: ", battery.charging); // true

console.warn("电量水平: ", battery.level); // 0.58

console.warn("电池使用时间: ", battery.dischargingTime);

 

// 设置一些事件监听器

battery.addEventListener("chargingchange", function(e) {

    console.warn("电池充电状态变化: ", battery.charging);

}, false);

battery.addEventListener("chargingtimechange", function(e) {

    console.warn("电池充电时间变化: ", battery.chargingTime);

}, false);

battery.addEventListener("dischargingtimechange", function(e) {

    console.warn("电池使用时间变化: ", battery.dischargingTime);

}, false);

battery.addEventListener("levelchange", function(e) {

    console.warn("电量水平变化: ", battery.level);

}, false);

很简单,不是吗?这几个接口都非常的棒:简单,高效,实用!

为什么要使用这些电池编程接口?因为很多用浏览器封装的移动应用(非‘native’)需要知道系统的当前状态。有些CPU对电量很敏感,在处理某些特殊任务前要设备有足够的电量,App应事先提醒用户电量不足,请充电。

相关学习推荐:javascript学习教程

以上就是JavaScript实现电池状态的方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript主要作用是什么

javascript如何分割字符串

一起看看javascript如何获取页面上被选中的文字

javascript对象和数组的区别是什么

h5 canvas实现粒子时钟的详细方法

js如何把html转换成图片格式

浅谈动态导入ecmascript模块的方法

css实现基于用户滚动应用(代码)

javascript中substr()和substring()之间的区别是什么?

javascript如何判断节点是否存在

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...