小編髮現個監聽手機電池的api,大家可以瞭解下:
1.電池形態API
navigator.getBattery():這個api前往的是一個promise對象,會給出一個BatteryManager對象,對象中包括了:設備能否在充電,電量,以及還需充電時長和剩餘時長等信息。
chrome閱讀器、安卓的webview、iphone都可以運用。ie,safari不論是pc還是挪動端都不支持。
調用辦法如下:
navigator.getBattery().then(function(battery) {
console.log(battery)
});
console.log打出如下:
這裡我們可以看到前往的對象中有
屬性
charging:能否充電;
chargingTime:假如是在充電,還需充電工夫;
dischargingTime:電池可用工夫
level:剩餘電量百分數(是個小數,顯示的時分需求處置)
一些可以監聽的事情:
onchargingchange:監聽充電形態的改動
onchargingtimechange:監聽充電工夫的改動
ondischargingtimechange:監聽電池可用工夫的改動
onlevelchange:監聽剩餘電量百分數的改動。
例子:
if(‘getBattery‘ in navigator){
navigator.getBattery().then(function(battery) {
/*
判別能否在充電
*/
if(battery.charging){
$(‘.isbattery‘).show();
$(‘.notbattery‘).hide();
}else{
$(‘.isbattery‘).hide();
$(‘.notbattery‘).show();
}
/*
判別剩餘電量
*/
if(battery.level>=1){
$(‘.batlevel‘).html(‘電池形態:電量充分 ^_^ 還有‘+battery.level*100+‘%‘);
}else if(battery.level>=0.5){
$(‘.batlevel‘).html(‘電池形態:電量還好 @_@ 還有‘+battery.level*100+‘%‘);
}else{
$(‘.batlevel‘).html(‘電池形態:啊!快沒電了 *_* 還有‘+battery.level*100+‘%‘);
}
/*
電池事情
*/
battery.addEventListener(‘chargingchange‘, function(){
alert("充電形態改動:"+ (battery.charging ? "開端充電" : "不充了"));
});
}else{
$(‘#batteryarea‘).text(‘您的閱讀器不支持電池形態接口‘);
}
下面的代碼可以判別出設備能否在充電,以及剩餘的電量,挪動端和pc端都可以運用。
首先判別了閱讀器能否支持這個api;
然後調用navigator.getBattery()接口,由於前往的是promise對象,所以我們運用then()來獲取前往的數據。
閱讀器前往了BatteryManager對象,然後我們在then的函數外部應用前往的數據寫邏輯。
如果以後碰到這種比較不常見的API可以一起探討下,增長下見識。
閱讀更多 前端小棧 的文章
關鍵字: 技術 編程語言 JavaScript