4个属性,4个事件
- Battery charging?
 - Battery level:
 - Battery charging time:
 - Battery discharging time:
 
/**
 * 处理电池信息
 * @param {Object} battery - BatteryManager实例
 */
function handleBattery(battery) {
  const charging = document.querySelector('.charging');
  const level = document.querySelector('.level');
  const time = document.querySelector('.time');
  const distime = document.querySelector('.distime');
  // init
  charging.innerHTML = battery.charging ? 'Yes' : 'No';
  level.innerHTML = `${battery.level * 100}%`;
  time.innerHTML = `${battery.chargingTime} seconds`;
  distime.innerHTML = `${battery.dischargingTime} seconds`;
  battery.addEventListener('chargingchange', () => {
    charging.innerHTML = battery.charging ? 'Yes' : 'No';
  });
  battery.addEventListener('levelchange', () => {
    level.innerHTML = `${battery.level * 100}%`;
  });
  battery.addEventListener('chargingtimechange', () => {
    time.innerHTML = `${battery.chargingTime} seconds`;
  });
  battery.addEventListener('dischargingtimechange', () => {
    distime.innerHTML = `${battery.dischargingTime} seconds`;
  });
}
document.addEventListener('DOMContentLoaded', () => {
  navigator.getBattery().then(handleBattery);
}, false);