Battery status - JavaScript

JavaScript navigator.battery bruges til at få information om opladning af computerens batteri

Introduktion

Battery Status API gør det muligt for hjemmesiden at udføre forskellig kode alt efter hvor meget batteriet er afladt.

JavaScript navigator.battery bruges til at vise information om computerens batteri (hvis den har et batteri).

Demo

BATTERY DEMO
(PÅ EN SIDE FOR SIG SELV)

Browsertest

Browserunderstøttelse af battery

Browser Battery Måde Events
Firefox logo
Firefox 17.0
ja navigator.battery
navigator.battery.charging
navigator.battery.chargingTime
navigator.battery.dischargingTime
navigator.battery.level
chargingchange
chargingtimechange
dischargingtimechange
levelchange
Opera logo
Opera 12.10
nej
Safari logo
Safari 5.1.7
nej
Chrome logo
Chrome .1271.64 m
nej
Internet Explorer logo
Internet Explorer 10.0.9200.16438 Pre-Release
nej
Alle tests er udført på Windows 7 (64-bit)


Browserunderstøttelse fra caniuse.com :

Hvad kan battery bruges til

Det kunne for eksempel være at siden er sat til automatisk at kontakte en server hver 10. sekund for at hente data.
Hvis computeren har lavt batteriniveau kunne det ændres til at serveren kun kontaktes hvert minut i stedet for, for at spare strøm.

Det kunne også bruges til at gemme data ved lav batteriniveau for at undgå datatab.

Eller undlade at indlæse meget processorkrævende (strømkrævende) indhold som Flash eller WebGL.

batteryManager objekt

navigator.battery returner et batteryManager objekt som blandt andet indeholder følgende :

navigator.battery.charging
navigator.battery.chargingTime
navigator.battery.dischargingTime
navigator.battery.level

Her er en beskrivelse og nogen af de værdier jeg har fået alt efter om batteriet er ved at blive opladt, om opladeren er tilsluttet, osv.
navigator
.battery
.charging
navigator
.battery
.chargingTime
navigator
.battery
.dischargingTime
navigator
.battery
.level
beskrivelse true hvis batteriet oplades (eller der er strøm fra oplader og batteri er fuldt opladt), eller enheden ikke har batteri eller tilstanden er ukendt hvor mange sekunder det tager før batteriet er fuldt opladt antal sekunders strøm tilbage på batteriet før "suspend" Strøm tilbage på batteri
type boolean double double double
mulige værdier true
false
Infinity
[tal]

På min computer vises der ikke hvor mange sekunder det tager at oplade, bare "0" eller "Infinity"

"0" betyder at batteriet er fuldt opladt eller ukendt værdi
Infinity
[tal]
[tal] 0 - 1.0

For eksempel :
"1.0" = fuldt opladt, eller enheden har ikke batteri eller ukendt
"0.97" = 97 % opladt
"0.25" = 25 %
0 = batteriet er tomt og systemet er ved at suspend
fuldt opladt
oplader tilsluttet
true 0 Infinitry 1
fuldt opladt
oplader er lige fjernet
false 0 Infinity 0.98
lidt afladt
oplader tilsluttet
batteri oplades
true Infinity Infinity 0.89
lidt afladt
batteri har lige været blevet opladt og taget stikket ud
false Infinity Infinity 0.92
fuldt opladt
oplader er lige fjernet
batteri har afladt i kort tid
false Infinity 5786 0.98
lidt afladt
oplader er lige fjernet
batteri har afladt i kort tid
false Infinity 9474 0.91
åbenbart udregnet forkert dischargingTime kort efter stikket er taget ud da den er på over 4 timer ved 57 % opladning selvom den skulle være på 1 time cirka. Det er ikke kun i browseren tiden er regnet forkert, Windows viser også samme forkerte tid false Infinity 15809 0.57
rimeligt afladt
oplader ikke tilsluttet
false Infinity 1413 0.25
værdier som der skal faldes tilbage til hvis værdien ikke kan hentes. Hvis der for eksempel ikke er noget batteri (stationær computer eller batteri er taget ud) true 0 Infinity 1.0

Events

Følgende events udløses når der sker en ændring (for eksempel når opladerstikket tages ud) :

chargingchange
chargingtimechange
dischargingtimechange
levelchange

Følgende kode giver løbende besked når events udløses.
Resultatet ovenfor er skabt af følgende kode

Kode eksempel

Her er et simpelt eksempel på hvordan man kan vise data fra navigator.battery og bruge events til automatisk at få opdateret dataene når der sker ændringer.
Resultatet ovenfor er skabt af følgende kode

Skriv din kommentar

Spørg mig om hvad som helst
Du kan også skrive direkte til mig på
Stem
Søg
Language

Select English to navigate the website in English. Things like the navigation menu and contact form will be in English, but the main content on each page will not be translated.