1.電池對象是存放在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);