Navigator.getBattery()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

getBattery() メソッドは、システムのバッテリーに関する情報を提供します。これは BatteryManager オブジェクトで解決されるバッテリーのプロミスを返し、バッテリーの状態を監視するために処理できるいくつかの新しいイベントを提供します。これはバッテリー状態 API を実装しています。詳細、API の使用ガイド、サンプルコードについては、そのドキュメントを参照してください。

メモ: ブラウザーによっては、この機能へのアクセスは Feature-Policybattery ディレクティブで制御されます。

構文

js
getBattery()

引数

なし。

返値

解決されると、バッテリーの状態に関する情報を取得するために使用できる BatteryManager オブジェクトを単一の引数として持つ履行ハンドラーを呼び出す Promise です。

例外

このメソッドは真の例外を発生させません。代わりに、返されたプロミスが拒否され、 DOMException の中に name を次のうちの一つに設定します。

SecurityError

ユーザーエージェントは安全でないコンテキストではバッテリー情報を公開しませんが、このメソッドが安全でないコンテキストから呼び出されました。

メモ: 一部のユーザーエージェントの古いバージョンでは、安全でないコンテキストでこの機能の利用を許可していることがあります。

NotAllowedError

現在この例外を発生させるユーザーエージェントはありませんが、仕様書では以下のような動作が記述されています。

この文書ではこの機能の使用が許可されていません。 例えば、 Feature-Policy battery 機能を介して明示的に許可されてなかったり、制限されていたりした場合です。

この例では、バッテリーの現在の充電状態を取得し、充電状態が変化するたびに充電状態が記録されるように、 chargingchange イベントのハンドラーを確立します。

js
let batteryIsCharging = false;

navigator.getBattery().then((battery) => {
  batteryIsCharging = battery.charging;

  battery.addEventListener("chargingchange", () => {
    batteryIsCharging = battery.charging;
  });
});

その他の例や詳細については、バッテリー状態 APIを参照してください。

仕様書

Specification
Battery Status API
# dom-navigator-getbattery

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
getBattery
Secure context required
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

関連情報