2KB项目,专业的源码交易网站 帮助 收藏 每日签到

电池形态API简介

  • 时间:2019-03-22 21:27 编辑:2KB 来源:2KB.COM 阅读:445
  • 扫一扫,手机访问
  • 分享
摘要:
HTML5 英文原文:Introducing the Battery Status API

Mobile装备的份额在收集流量中在大量增加,其所奉献的收集流量十分宏大,以致于为了Mobile装备,我们独自创立了一些API和设计理念。一个十分典范的例子是 W3C电池形态API,它答应一个使用顺序获知装备的电池形态信息。这篇文章探究了这个新的API,为你展现了怎么把它整合进你现有的使用顺序。

Introducing the Battery Status 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的各个属性值,而且在事情触发时更新它们的值。

点击此处拜访在线示例。

<!DOCTYPE html>
<htmllang="en">
<head>
  <title>The Battery Status API - Example</title>
  <metacharset="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>
  <divid="stats">
    Your battery is currently <spanid="charging"></span>.<br/>
    Your battery will be charged in <spanid="chargingtime"></span> seconds.<br/>
    Your battery will be discharged in <spanid="dischargingtime"></span> seconds.<br/>
    Your battery level is <spanid="level"></span>%.
  </div>
</body>
</html>

结论

本文为Battery Status API给出了一个完好的总结和展现,虽然其仍未失掉主流支撑,可是这只是工夫问题。思索到Mobile互联网的激增,开发者应当尽快将电池信息归入设计范围内。

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部