【相關圖文推薦:js教學(圖文)】
從Mozilla Aurora 11起,火狐瀏覽器裡實作了一些新功能,其中一個就是對電池狀態介面的基本實作。這個很簡單的介面能提供你關於電池當前電量,是否在充電等訊息,以及一些電池狀態變化事件。讓我們來看看效果吧!
電池物件是存放在window.navigator.battery
裡,但因為這是火狐瀏覽器首次實現並提供這個接口,並未普及,你需要使用window. navigator.mozBattery
這種寫法。這個mozBattery
物件有下列屬性:
charging:
表示目前電池裝置是否正在充電。如果電池沒有充電,這個值是false。如果為true,表示電池正在充電。目前的API實作裡不能得到是否充滿的信息,也無法判斷目前設備是否有電池。 chargingTime:
是指距離電池充滿還需要多久。 dischargingTime: 電池已使用時間
。 level:
表示電量等級,從0到1.0。當這個值為0時,表示電量耗盡,系統即將關機。如果為1.0,則表示電池滿電。 針對這些狀態,介面裡提供了各自對應的事件,包括onchargingchange
, onchargingtimechange
, ondischargingtimechange
, 和onlevelchange
。基本的用法很簡單:
// 获取电池对象! var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery; // 显示一些有用属性值 console.warn("电池充电状态: ", battery.charging); // true console.warn("电量水平: ", battery.level); // 0.58 console.warn("电池使用时间: ", battery.dischargingTime); // 设置一些事件监听器 battery.addEventListener("chargingchange", function(e) { console.warn("电池充电状态变化: ", battery.charging); }, false); battery.addEventListener("chargingtimechange", function(e) { console.warn("电池充电时间变化: ", battery.chargingTime); }, false); battery.addEventListener("dischargingtimechange", function(e) { console.warn("电池使用时间变化: ", battery.dischargingTime); }, false); battery.addEventListener("levelchange", function(e) { console.warn("电量水平变化: ", battery.level); }, false);
很簡單,不是嗎?這幾個接口都非常的棒子:簡單,高效,實用!
為什麼要使用這些電池程式介面?因為很多用瀏覽器封裝的行動應用程式(非‘native’)需要知道系統的目前狀態。有些CPU對電量很敏感,在處理某些特殊任務前要設備有足夠的電量,App應事先提醒用戶電量不足,請充電。
相關學習推薦:javascript學習教學
以上是JavaScript實現電池狀態的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!