婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > HTML5的一個(gè)顯示電池狀態(tài)的API簡介

HTML5的一個(gè)顯示電池狀態(tài)的API簡介

熱門標(biāo)簽:外呼線穩(wěn)定線路 邢臺(tái)縣地圖標(biāo)注app pageadm實(shí)現(xiàn)地圖標(biāo)注 呼和浩特外呼電銷系統(tǒng)排名 南通數(shù)據(jù)外呼系統(tǒng)推廣 外呼系統(tǒng)電話怎么投訴 申請(qǐng)400電話流程簡介 阜陽企業(yè)外呼系統(tǒng) 地圖標(biāo)注位置能賺錢嗎

移動(dòng)設(shè)備的份額在網(wǎng)絡(luò)流量中在大量增長,其所貢獻(xiàn)的網(wǎng)絡(luò)流量非常龐大,以至于為了移動(dòng)設(shè)備,我們單獨(dú)創(chuàng)建了一些API和設(shè)計(jì)理念。一個(gè)非常典型的例子是 W3C電池狀態(tài)API,它允許一個(gè)應(yīng)用程序獲知設(shè)備的電池狀態(tài)信息。這篇文章探索了這個(gè)新的API,為你展示了如何把它整合進(jìn)你現(xiàn)有的應(yīng)用程序。
 檢測設(shè)備是否支持

目前電池API依舊沒有得到主流支持。因此,在使用這個(gè)API前需要確認(rèn)當(dāng)前設(shè)備是否支持此API。下面展示的函數(shù)返回一個(gè)布恩值(True/False),指示當(dāng)前瀏覽器是否支持電池狀態(tài)API。

該函數(shù)首先檢測了 navigator.battery 對(duì)象是否存在。如果不存在,繼續(xù)檢測 Mozilla 專用的

navigator.mozBattery是否存在。我曾經(jīng)見過有些代碼還檢測了 webkitBattery對(duì)象,但是我無法證實(shí)其在Chrome中是否存在。

參考文檔:https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery
 

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. functionisBatteryStatusSupported() {   
  2.   return!!(navigator.battery || navigator.mozBattery);   
  3. }  

檢查電池

如果電池對(duì)象存在,它會(huì)包含下列四個(gè)只讀屬性。

  •     charging —— (布恩值)指示系統(tǒng)的電池當(dāng)前是否正在充電。

    如果系統(tǒng)不存在電池,或無法確定電池是否在充電,返回值是 True

  •     chargingTime —— (數(shù)值)電池完全充滿電量所需的時(shí)間(單位:秒)

    當(dāng)電池完全被充滿電時(shí),或者系統(tǒng)不存在電池時(shí),這個(gè)值為0。

    如果系統(tǒng)不在充電,或者無法確定完全充滿電所需時(shí)間,這個(gè)值為∞(無窮大)。

  •     dischargingTime —— 和chargingTime相似,(數(shù)值)到電池完全放電直到系統(tǒng)休眠剩余的時(shí)間(單位:秒)

    如果放電時(shí)間無法確定,或 系統(tǒng)沒有電池 或 系統(tǒng)正在充電,這個(gè)值為 ∞ (無窮大)

  •     level —— (數(shù)值) 設(shè)備當(dāng)前電量等級(jí)。取值在(0 ~ 1.0)區(qū)間,與剩余電量百分比對(duì)應(yīng)。

    1.0表示電池完全充滿電,或者不存在電池,或者數(shù)值無法確定。


檢測電池事件

上述所有屬性都與一個(gè)電池事件綁定。這些事件用來指示電池狀態(tài)的變化。比如,插入電源會(huì)使charging屬性從false變?yōu)閠rue。全部四種電池事件如下所列:

  •     chargingchange —— 這個(gè)類型的事件會(huì)在charging屬性改變時(shí)觸發(fā)。這個(gè)事件可以被 onchargingchange()事件處理器捕獲和處理。
        chargingtimechange —— 這個(gè)類型的事件會(huì)在chargingtime屬性改變時(shí)觸發(fā)。這個(gè)事件可以被 onchargingtimechange()事件處理器捕獲和處理。
        dischargingtimechange —— 這個(gè)類型的事件會(huì)在dischargingTime屬性改變時(shí)觸發(fā)。這個(gè)事件可以被 ondischargingtimechange()事件處理器捕獲和處理。
        levelchange —— 這個(gè)類型的事件會(huì)在level屬性改變時(shí)觸發(fā)。這個(gè)事件可以被 onlevelchange()事件處理器捕獲和處理。

 
示例頁面

下面的代碼展示了如何使用 電池狀態(tài)API 的屬性和事件。

示例頁面顯示了API的各個(gè)屬性值,并且在事件觸發(fā)時(shí)更新它們的值。

點(diǎn)擊此處訪問在線示例。
 

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <htmllanghtmllang="en">  
  3. <head>  
  4.   <title>The Battery Status API - Example</title>  
  5.   <metacharsetmetacharset="UTF-8"/>  
  6.   <script>  
  7.     window.addEventListener("load", function() {   
  8.       var battery = navigator.battery || navigator.mozBattery;   
  9.       function displayBatteryStats() {   
  10.         document.getElementById("charging").textContent = (battery.charging) ? "charging" : "not charging";   
  11.         document.getElementById("chargingtime").textContent = battery.chargingTime;   
  12.         document.getElementById("dischargingtime").textContent = battery.dischargingTime;   
  13.         document.getElementById("level").textContent = battery.level * 100;   
  14.       }   
  15.       if (battery) {   
  16.         displayBatteryStats();   
  17.         battery.addEventListener("chargingchange", displayBatteryStats, false);   
  18.         battery.addEventListener("chargingtimechange", displayBatteryStats, false);   
  19.         battery.addEventListener("dischargingtimechange", displayBatteryStats, false);   
  20.         battery.addEventListener("levelchange", displayBatteryStats, false);   
  21.       } else {   
  22.         document.getElementById("stats").textContent = "Sorry, your browser does not support the Battery Status API";   
  23.       }   
  24.     }, false);   
  25.   </script>  
  26. </head>  
  27. <body>  
  28.   <dividdivid="stats">  
  29.     Your battery is currently <spanidspanid="charging"></span>.<br/>  
  30.     Your battery will be charged in <spanidspanid="chargingtime"></span> seconds.<br/>  
  31.     Your battery will be discharged in <spanidspanid="dischargingtime"></span> seconds.<br/>  
  32.     Your battery level is <spanidspanid="level"></span>%.   
  33.   </div>  
  34. </body>  
  35. </html>  

結(jié)論

本文為Battery Status API給出了一個(gè)完整的總結(jié)和展示,盡管其仍未得到主流支持,但是這只是時(shí)間問題??紤]到移動(dòng)互聯(lián)網(wǎng)的激增,開發(fā)者應(yīng)該盡快將電池信息納入設(shè)計(jì)范疇內(nèi)。

標(biāo)簽:楊凌 黃山 撫順 內(nèi)蒙古 蚌埠 德州 辛集 鶴崗

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5的一個(gè)顯示電池狀態(tài)的API簡介》,本文關(guān)鍵詞  HTML5,的,一個(gè),顯示,電池,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5的一個(gè)顯示電池狀態(tài)的API簡介》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5的一個(gè)顯示電池狀態(tài)的API簡介的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 安康市| 咸丰县| 禄丰县| 乐昌市| 阳东县| 土默特右旗| 建德市| 新源县| 团风县| 临武县| 白玉县| 东乌| 台东市| 昂仁县| 福贡县| 东宁县| 石景山区| 吴旗县| 新河县| 石河子市| 龙游县| 南阳市| 永州市| 乌海市| 东明县| 万安县| 莎车县| 吴忠市| 嘉义市| 祁阳县| 宣城市| 城市| 沐川县| 凤冈县| 穆棱市| 汉中市| 萨嘎县| 宕昌县| 漳浦县| 独山县| 鄂伦春自治旗|