这个API已经有了升级,请看JavaScript电池状态信息API:Promises

从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。基本的用法很简单:

// 获取电池对象!

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应事先提醒用户电量不足,请充电。

html5画电池状态,JavaScript里获取电池状态的方法相关推荐

  1. android获取电池信息;android获取电池容量、技术、电压、电量、温度等信息

    android获取电池信息:android获取电池容量.技术.电压.电量.温度等信息 1.这里我仅展示工具类,需要注意的是这里的部分值要刷新后才能显示,添加刷新UI的方法即可,而且电量温度等都是变化的 ...

  2. android充电状态广播,Android 获取电池是否充电状态、充电器类型

    0. demo 下载 https://github.com/sufadi/BatteryInfo 1. 电池广播获取充电状态 // 电池状态 import static android.os.Batt ...

  3. 【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)

    本文目录 一.背景描述 二.实现方案 方案一 方案二 一.背景描述 目前在做公司的一个网站,有个需求是:当别人进入网站时自动定位他的地理位置,包括市区,方便给他推荐当前城市的特色信息. 其实,这也是一 ...

  4. python模拟点击后获取状态码_Python获取网页状态码

    在网页爬取的时候,有时候需要判断下要爬取网页的网页HTTP状态码,然后再进行相关的工作. 1.网页HTTP状态码 HTTP状态码表示HTTP协议所返回的响应状态.具体参考:http://baike.b ...

  5. python requests 状态码_requests获取所有状态码

    requests获取所有状态码 requests默认是不会获取301/302的状态码的.可以设置allow_redirects=False,这样就可以获取所有的状态码了 import requests ...

  6. android蓝牙查看电池容量_Android中获取电池电量

    /** * * @author chrp * *显示当前电池电量 */ public class MainActivity extends Activity { private TextView tv ...

  7. [javascript]JS获取当前时间戳的方法

    JavaScript 获取当前时间戳: 第一种方法:(这种方法只精确到秒) 1 var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种 ...

  8. 各种语言里获取当前模块的方法:ABAP,ABSL,C,nodejs

    ABAP sy-CPROG ABSL C __FILE__用以指示本行语句所在源文件的文件名. #include <stdio.h> int main() {printf("%s ...

  9. selenium 状态码521_selenium获取网页状态码与状态码解释

    HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码.状态码的第一个数字代表了响应的五种状态之一. 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理.由于 HTT ...

  10. php 判断下载状态,php下获取http状态的实现代码

    逐风整理了两种方式,大家可以自行参考/使用: #方式一 $ch = curl_init('https://www.jb51.net'); curl_setopt($ch, CURLOPT_RETURN ...

最新文章

  1. python中的mysql数据库like模糊查询
  2. DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文件的解决方法
  3. 如何制作一款HTML5 RPG游戏引擎——第四篇,情景对话
  4. pycharm中如何正确配置pyqt5
  5. JS 表单、表单验证(表单判断、get、post、submit、validity、checkValidity)
  6. 研发管理---(1)持续交付
  7. [原创]中秋随笔 祝大家中秋快乐
  8. 信用卡前6位bin号代表什么
  9. html调用eps,eps输出没有属性
  10. xlsread错误使用matlab,运行显示错误使用xlsread,未找到文件
  11. windows QT+VS201环境安装
  12. 如何从零学习游戏开发
  13. 联想Y460 XP下独显叹号
  14. Typora安装 Pandoc实现导出功能
  15. STM32f4系列ADC解析
  16. z-blog建立博客网站SEO优化细节教程
  17. 42. 通俗易懂大数据实时计算Storm教程
  18. 《中文核心期刊要目总览(2014年版)》——计算机、自动化类
  19. The Staircases
  20. linux查看jetty安装目录,linux中Jetty的安装和配置方法

热门文章

  1. 几组数据的相关性python_Python数据相关系数矩阵和热力图轻松实现(参数解释)...
  2. Java进阶:Mybatis学习
  3. JavaScript:字符串相关操作
  4. Javascript特效:缓动动画
  5. 分布式存储系统Minio简介
  6. 论文笔记_S2D.61_2019-CVPR-DeepLiDAR:基于稀疏激光雷达数据和单张彩色图像的户外场景的表面法线引导的深度预测
  7. tensorflow学习笔记(3)梯度下降法进行曲线拟合和线性回归
  8. 火灾检测、人流量统计、安全帽检测,飞桨开源一键运行的产业案例教程
  9. 递归和循环两种方式求解连续数的相加
  10. Realsense D455 修改分辨率和FPS