您现在的位置是:网站首页> 编程资料编程资料
HTML5的一个显示电池状态的API简介浅谈HTML5 FileReader分布读取文件以及其方法简介HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5是什么 HTML5是什么意思 HTML5简介HTML5安全介绍之内容安全策略(CSP)简介HTML5的标签的代码的简单介绍 HTML5标签的简介html5新增的定时器requestAnimationFrame实现进度条功能HTML5新增加的功能详解iPhone5和iOS6上HTML5开发的新增功能html5简介及新增功能介绍
2023-10-14
590人已围观
简介 这篇文章主要介绍了HTML5的一个显示电池状态的API简介,由Mozilla设计,具体的设备和浏览器支持情况还要通过检测才能确定,需要的朋友可以参考下
移动设备的份额在网络流量中在大量增长,其所贡献的网络流量非常庞大,以至于为了移动设备,我们单独创建了一些API和设计理念。一个非常典型的例子是 W3C电池状态API,它允许一个应用程序获知设备的电池状态信息。这篇文章探索了这个新的API,为你展示了如何把它整合进你现有的应用程序。
检测设备是否支持
目前电池API依旧没有得到主流支持。因此,在使用这个API前需要确认当前设备是否支持此API。下面展示的函数返回一个布恩值(True/False),指示当前浏览器是否支持电池状态API。
该函数首先检测了 navigator.battery 对象是否存在。如果不存在,继续检测 Mozilla 专用的
navigator.mozBattery是否存在。我曾经见过有些代码还检测了 webkitBattery对象,但是我无法证实其在Chrome中是否存在。
参考文档:https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery
- functionisBatteryStatusSupported() {
- return!!(navigator.battery || navigator.mozBattery);
- }
检查电池
如果电池对象存在,它会包含下列四个只读属性。
- charging —— (布恩值)指示系统的电池当前是否正在充电。
如果系统不存在电池,或无法确定电池是否在充电,返回值是 True
- chargingTime —— (数值)电池完全充满电量所需的时间(单位:秒)
当电池完全被充满电时,或者系统不存在电池时,这个值为0。
如果系统不在充电,或者无法确定完全充满电所需时间,这个值为∞(无穷大)。
- dischargingTime —— 和chargingTime相似,(数值)到电池完全放电直到系统休眠剩余的时间(单位:秒)
如果放电时间无法确定,或 系统没有电池 或 系统正在充电,这个值为 ∞ (无穷大)
- level —— (数值) 设备当前电量等级。取值在(0 ~ 1.0)区间,与剩余电量百分比对应。
1.0表示电池完全充满电,或者不存在电池,或者数值无法确定。
检测电池事件
上述所有属性都与一个电池事件绑定。这些事件用来指示电池状态的变化。比如,插入电源会使charging属性从false变为true。全部四种电池事件如下所列:
- chargingchange —— 这个类型的事件会在charging属性改变时触发。这个事件可以被 onchargingchange()事件处理器捕获和处理。
chargingtimechange —— 这个类型的事件会在chargingtime属性改变时触发。这个事件可以被 onchargingtimechange()事件处理器捕获和处理。
dischargingtimechange —— 这个类型的事件会在dischargingTime属性改变时触发。这个事件可以被 ondischargingtimechange()事件处理器捕获和处理。
levelchange —— 这个类型的事件会在level属性改变时触发。这个事件可以被 onlevelchange()事件处理器捕获和处理。
示例页面
下面的代码展示了如何使用 电池状态API 的属性和事件。
示例页面显示了API的各个属性值,并且在事件触发时更新它们的值。
点击此处访问在线示例。
- >
- <htmllanghtmllang="en">
- <head>
- <title>The Battery Status API - Exampletitle>
- <metacharsetmetacharset="UTF-8"/>
- <script>
- window.addEventListener("load", function() {
- var battery = navigator.battery || navigator.mozBattery;
- function displayBatteryStats() {
- document.getElementById("charging").textContent = (battery.charging) ? "charging" : "not charging";
- document.getElementById("chargingtime").textContent = battery.chargingTime;
- document.getElementById("dischargingtime").textContent = battery.dischargingTime;
- document.getElementById("level").textContent = battery.level * 100;
- }
- if (battery) {
- displayBatteryStats();
- battery.addEventListener("chargingchange", displayBatteryStats, false);
- battery.addEventListener("chargingtimechange", displayBatteryStats, false);
- battery.addEventListener("dischargingtimechange", displayBatteryStats, false);
- battery.addEventListener("levelchange", displayBatteryStats, false);
- } else {
- document.getElementById("stats").textContent = "Sorry, your browser does not support the Battery Status API";
- }
- }, false);
- script>
- head>
- <body>
- <dividdivid="stats">
- Your battery is currently <spanidspanid="charging">span>.<br/>
- Your battery will be charged in <spanidspanid="chargingtime">span> seconds.<br/>
- Your battery will be discharged in <spanidspanid="dischargingtime">span> seconds.<br/>
- Your battery level is <spanidspanid="level">span>%.
- div>
- 提示:
本文由神整理自网络,如有侵权请联系本站删除!
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!
相关内容
- 举例详解HTML5中使用JSON格式提交表单基于HTML5的WebGL实现json和echarts图表展现在同一个界面Html5中localStorage存储JSON数据并读取JSON数据的实现方法HTML5中使用json对象的实例代码
- 用HTML5制作视频拼图的教程HTML5拖拽API经典实例详解HTML5 拖拽批量上传文件的示例代码html5 canvas绘制可拖拽的3D立体文字效果源码html5 canvas绘制的可拖拽全屏3D地球旋转动画特效源码HTML5+Three.js WebGL实现的月球发光着色与拖拽动画效果源码HTML5拖拽的简单实例html5实现的网格图片鼠标拖动拼图游戏源码html5版canvas自由拼图实例HTML5拖拽功能实现的拼图游戏
- HTML5有哪些新特征HTML5新特性之type=file文件上传功能HTML5新特性之语义化标签HTML5新特性之用SVG绘制微信logo 整理HTML5的一些新特性与Canvas的常用属性基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作HTML5 history新特性pushState、replaceState及两者的区别 Html5新特性用canvas标签画多条直线附效果截图html5声频audio和视频video等新特性详细说明html5新特性与用法大全
- 浅析移动设备HTML5页面布局 Flex移动布局中单行和双行布局的区别及使用详解
- 深入浅析HTML5中的SVG基于html5实现的svg图标手机菜单动态特效源码html5基于svg实现圆形进度统计动画特效源码基于HTML5 SVG制作汉堡包菜单按钮分段动画效果深入解析HTML5使用SVG图像时的viewBox属性用法html5+svg学习指南之SVG基础知识HTML5+SVG实现的线性图表特效源码 可绘制图表区域颜色HTML5 SVG实现的Loading动画加载特效源码
- 基于HTML5代码实现折叠菜单附源码下载html5写一个BUI折叠菜单插件的实现方法
- HTML5标签使用方法详解关于HTML5语义标签的实践(blog页面)html5基于canvas实现的文字标签云3D旋转动画特效源码HTML5之语义标签介绍移动端html5 meta标签的神奇功效实例讲解HTML5的meta标签的一些应用 HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5安全攻防之新标签攻击详解简单介绍HTML5中audio标签的使用HTML5进阶段内联标签汇总(小篇)
- 推荐WEB开发者最佳HTML5和CSS3代码生成器移动端Web页面的CSS3 flex布局快速上手指南详解CSS制作Web页面条纹背景样式的技巧像素密度与CSS3的viewport在移动端Web响应式布局中的运用CSS实现带倒三角标记的WEB标准菜单效果代码CSS Web安全字体组合详解
- 骷髅王子救公主 第1-10关 图文攻略_手机游戏_游戏攻略_
- 骷髅王子救公主 第2-1关 图文攻略_手机游戏_游戏攻略_
点击排行
本栏推荐
