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