Navigator: getBattery() 方法
getBattery() 方法提供有關係統電池的資訊。它返回一個電池 Promise,該 Promise 會解析為一個 BatteryManager 物件,該物件提供了一些屬性來獲取電池狀態,還提供了一些您可以處理的事件來監控電池狀態。這實現了 電池狀態 API;有關更多詳細資訊、API 使用指南和示例程式碼,請參閱該文件。
自 Chrome 103 起,電池狀態 API 的 Navigator.getBattery() 方法僅在安全上下文中公開。
注意:此功能的訪問可能受到 Permissions-Policy 指令 battery 的控制。
語法
js
getBattery()
引數
無。
返回值
一個 Promise,它會fulfilled(解析)為一個 BatteryManager 物件,您可以使用該物件獲取電池狀態的資訊。
異常
NotAllowedErrorDOMException-
此功能的使用被 Permissions Policy 阻止了。
SecurityErrorDOMException-
使用者代理未向不安全上下文公開電池資訊,並且此方法是從不安全上下文呼叫的。
示例
此示例獲取電池的當前充電狀態,併為 chargingchange 事件設定一個處理程式,以便在充電狀態更改時記錄該狀態。
js
let batteryIsCharging = false;
navigator.getBattery().then((battery) => {
batteryIsCharging = battery.charging;
battery.addEventListener("chargingchange", () => {
batteryIsCharging = battery.charging;
});
});
有關更多示例和詳細資訊,請參閱 電池狀態 API。
規範
| 規範 |
|---|
| Battery Status API # dom-navigator-getbattery |
瀏覽器相容性
載入中…