Navigator.getBattery()

非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

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

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

構文

var batteryPromise = navigator.getBattery();

Return value

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

例外

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

SecurityError
ユーザーエージェントは安全でないコンテキストではバッテリー情報を公開しませんが、このメソッドが安全でないコンテキストから呼び出されました。
メモ: 一部のユーザーエージェントの古いバージョンでは、安全でないコンテキストでこの機能の利用を許可していることがあります。
NotAllowedError
メモ: 現在この例外を発生させるユーザーエージェントはありませんが、仕様書では以下のような動作が記述されています。
この文書ではこの機能の使用が許可されていません。例えば、 Feature-Policy battery 機能を介して明示的に許可されてなかったり、制限されていたりした場合です。

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

let batteryIsCharging = false;

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

  battery.addEventListener('chargingchange', function() {
    batteryIsCharging = battery.charging;
  });
});

Battery Status API をご覧ください。

仕様書

仕様書 状態 備考
Battery Status API
Navigator.getBattery() の定義
勧告候補 初回定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
getBattery
非推奨
Chrome 完全対応 45Edge 完全対応 79Firefox 未対応 43 — 52
補足
未対応 43 — 52
補足
補足 From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
IE 未対応 なしOpera 完全対応 25Safari 未対応 なしWebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 未対応 43 — 52
補足
未対応 43 — 52
補足
補足 From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android 完全対応 25Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。

関連情報