中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解HTML5顯示電池狀態的API

發布時間:2021-09-28 11:08:24 來源:億速云 閱讀:139 作者:iii 欄目:web開發

本篇內容介紹了“如何理解HTML5顯示電池狀態的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
 

XML/HTML Code復制內容到剪貼板

  1. functionisBatteryStatusSupported() {   

  2.   return!!(navigator.battery || navigator.mozBattery);   

  3. }  

檢查電池

如果電池對象存在,它會包含下列四個只讀屬性。

  •     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的各個屬性值,并且在事件觸發時更新它們的值。

點擊此處訪問在線示例。
 

XML/HTML Code復制內容到剪貼板

  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>  

“如何理解HTML5顯示電池狀態的API”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

疏勒县| 乳山市| 武定县| 永济市| 湖州市| 建德市| 肇东市| 杭锦后旗| 凤山市| 岳池县| 新宁县| 林口县| 迁安市| 滕州市| 囊谦县| 依兰县| 赤水市| 新闻| 济源市| 灯塔市| 大港区| 盱眙县| 广德县| 军事| 威信县| 昂仁县| 紫云| 嘉禾县| 新野县| 崇州市| 绵竹市| 青神县| 乳山市| 广灵县| 错那县| 吴忠市| 井研县| 新郑市| 神池县| 遂宁市| 邯郸县|