バッテリーの情報を取得
バッテリーの情報を取得には、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();
}