バッテリーの情報を取得

バッテリーの情報を取得には、navigator.batteryオブジェクトを使用します。
一部古いブラウザのバージョンでは、プレフィックスを付ける必要があります。

構文

var battery = navigator.battery;

戻り値

BatteryManagerオブジェクトを返します。

プロパティ

navigator.batteryには次のプロパティが取得できます。

プロパティ名 説明
charging 充電状況(電源接続をし充電中であるか)
true = 充電中、false = 充電していない
level 充電の容量を0.00~1.00で取得(0.00は0%、1.00は100%)
chargingTime 残りの充電時間
最大(充電状態の時)の場合はInfinityを返す
dischargingTime 残りの利用可能時間
最大(充電状態の時)の場合はInfinityを返す

イベントハンドラ

navigator.batteryには次のイベントハンドラが利用できます。

イベント名 説明
chargingchange 充電状態の変化
levelchange バッテリー残量の変化
chargingtimechange 充電時間の変化
dischargingtimechange 残りの利用可能時間の変化

サンプルコード

JavaScript

var battery       = navigator.battery || navigator.webkitBattery || navigator.mozBattery,
    outputElement = document.getElementById('output');

/**
 * バッテリーの状況を更新
 */
var updateBatteryStatus = function() {
	var statusStr = '';

	if (battery.charging) statusStr = '充電中です。';

	statusStr += 'バッテリー容量:'   + (battery.level * 100) + '%';
	statusStr += '残り充電時間:'     + battery.chargingTime + '';
	statusStr += '残り利用可能時間:' + battery.dischargingTime;

	outputElement.innerHTML = statusStr;
};

if (battery) {
	battery.addEventListener('chargingchange', updateBatteryStatus);
	battery.addEventListener('levelchange', updateBatteryStatus);

	updateBatteryStatus();
}

JavaScript逆引きリファレンス一覧へ戻る