Navigator: getBattery() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

getBattery() 方法提供有關係統電池的資訊。它返回一個電池 Promise,該 Promise 會解析為一個 BatteryManager 物件,該物件提供了一些屬性來獲取電池狀態,還提供了一些您可以處理的事件來監控電池狀態。這實現了 電池狀態 API;有關更多詳細資訊、API 使用指南和示例程式碼,請參閱該文件。

自 Chrome 103 起,電池狀態 APINavigator.getBattery() 方法僅在安全上下文中公開。

注意:此功能的訪問可能受到 Permissions-Policy 指令 battery 的控制。

語法

js
getBattery()

引數

無。

返回值

一個 Promise,它會fulfilled(解析)為一個 BatteryManager 物件,您可以使用該物件獲取電池狀態的資訊。

異常

NotAllowedError DOMException

此功能的使用被 Permissions Policy 阻止了。

SecurityError DOMException

使用者代理未向不安全上下文公開電池資訊,並且此方法是從不安全上下文呼叫的。

示例

此示例獲取電池的當前充電狀態,併為 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

瀏覽器相容性

另見