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

瀏覽器相容性

另見