Mobile装备的份额在收集流量中在大量增加,其所奉献的收集流量十分宏大,以致于为了Mobile装备,我们独自创立了一些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属性从false变成true。全体四种电池事情以下所列:
下面的代码展现了怎么运用 电池形态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,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务