Battery Status API

안씀
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Battery API 만큼이나 자주 언급되는 Battery Status API는 시스템의 배터리 충전 상태에 대한 정보를 제공하고, 배터리 상태에 따라 발생하는 이벤트를 다룰 수 있도록 해 줍니다. 배터리가 얼마남지 않은 상황에서, 앱에서 배터리의 소모를 줄인다거나 배터리가 방전되기 전에 데이터를 저장하거나 하는 것들이 가능합니다.

Battery Status API 는 window.navigator.battery 를 제공 합니다. 이는 BatteryManager 객체이며 배터리 상태를 감시하고 전달받아 처리할 수 있는 이벤트를 가지고 있습니다.

예제

아래 예제에서는 배터리가 충전중인 상태 (전원 케이블을 연결하여 충전 중인지) 와 배터리 수준의 변화를 감시합니다. 각각 chargingchangelevelchange 이벤트가 발생하면 완료 됩니다.

var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;

function updateBatteryStatus() {
  console.log("Battery status: " + battery.level * 100 + " %");

  if (battery.charging) {
    console.log("Battery is charging"); 
  }
}

battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();

명세서의 예제도 확인해보세요.

명세

Specification Status Comment
Battery Status API Candidate Recommendation Initial definition.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
BatteryManager
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
charging
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
chargingTime
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
dischargingTime
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
level
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
onchargingchange
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
onchargingtimechange
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
ondischargingtimechange
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes
onlevelchange
Deprecated
Chrome Full support 38Edge No support NoFirefox No support 16 — 52
No support 16 — 52
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
Full support 52
Notes Disabled
Notes Disabled by default in Firefox 10, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Firefox 18. Firefox also provide support for the deprecated navigator.battery.
Disabled From version 52: this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 38
Notes
Full support 38
Notes
Notes Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.
Firefox Android No support 10 — 16
Prefixed
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
No support 16 — 52
Notes Disabled
Notes Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.
Disabled From version 16 until version 52 (exclusive): this feature is behind the dom.battery.enabled preference. To change preferences in Firefox, visit about:config.
Full support 52
Notes
Notes From this version onwards, the Battery Status API is only available in chrome/privileged code.
Opera Android Full support 25Safari iOS No support ? — ?Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

같이 보기