BatteryManager:levelchange 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

当电池 level 属性更新时,BatteryManager 接口的 levelchange 事件会被触发。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("levelchange", (event) => { })

onlevelchange = (event) => { }

事件类型

一个通用的 Event

示例

HTML

html
<div id="level">(battery level unknown)</div>
<div id="stateBattery">(charging state unknown)</div>

JavaScript

js
navigator.getBattery().then((battery) => {
  battery.onlevelchange = () => {
    document.querySelector("#level").textContent = battery.level;

    if (battery.charging) {
      document.querySelector("#stateBattery").textContent = `Charging time: ${
        battery.chargingTime / 60
      }`;
    } else {
      document.querySelector("#stateBattery").textContent =
        `Discharging time: ${battery.dischargingTime / 60}`;
    }
  };
});

规范

规范
Battery Status API
# dfn-levelchange
Battery Status API
# dom-batterymanager-onlevelchange

浏览器兼容性

另见