Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Использования Battery API на JavaScript

Дата публикации: 18-06-2026 21:00:00

Использования Battery API на JavaScript
Battery Status API - это веб-интерфейс, позволяющий JavaScript-коду получать информацию о состоянии аккумуляторной батареи устройства, на котором открыта веб-страница. Изначально он создавался для оптимизации работы веб-приложений: например, для снижения частоты обновлений или отключения тяжелых задач при низком заряде. Или - для своевременного сохранения данных при угрозе отключения питания. Я уже делал нечто подобное на WinAPI, теперь расскажу, как это работает в JavaScript.

Основное содержимое страницы с новостью.

E-Mail 19.06.2026 | : Web- | : ManHunter

Battery API  JavaScript
Battery API JavaScript

Battery Status API - -, JavaScript- , -. -: , . - . WinAPI, , JavaScript.

Battery Status API . (Secure Context) - HTTPS localhost. , API . , : - - , . , cookie. Chrome , , . Battery API, .

API BatteryManager , . . charging - , , . level - 0.0 1.0. - . chargingTime - . , 0. dischargingTime - . ? : charging == true, chargingTime. ( charging == false), dischargingTime. , .

, . chargingchange - ( charging), levelchange - ( level). chargingtimechange - ( chargingTime), dischargingtimechange - ( dischargingTime). : addEventListener . , : , , . , - , .

  1. if ('getBattery' in navigator && window.isSecureContext) {
  2.   navigator.getBattery().then(battery => {
  3.     //    
  4.     function batteryCharging() {
  5.         if (battery.charging) {
  6.             console.log('  ');
  7.         }
  8.         else {
  9.             console.log('  ');
  10.         }
  11.     }
  12.  
  13.     //  
  14.     function batteryLevel() {
  15.         console.log(': '+(battery.level*100).toFixed(0)+'%');
  16.     }
  17.  
  18.     //    (  )
  19.     function batteryDischargingtimechange() {
  20.         const seconds=battery.dischargingTime;
  21.         if (!isFinite(seconds)) {
  22.             console.log('  :  ');
  23.             return;
  24.         }
  25.         const h=Math.floor(seconds/3600);
  26.         const m=Math.floor((seconds%3600)/60);
  27.         console.log(' : '+(h>0?h+'  ':'')+m+' ');
  28.     }
  29.  
  30.     //    
  31.     function batteryChargingtimechange() {
  32.         const seconds=battery.chargingTime;
  33.         if (!isFinite(seconds)) {
  34.             console.log('  :  ');
  35.             return;
  36.         }
  37.         const h=Math.floor(seconds/3600);
  38.         const m=Math.floor((seconds%3600)/60);
  39.         console.log(' : '+(h>0?h+'  ':'')+m+' ');
  40.     }
  41.  
  42.     //  
  43.     batteryCharging();
  44.     batteryLevel();
  45.     batteryDischargingtimechange();
  46.     batteryChargingtimechange();
  47.  
  48.     //   
  49.     battery.addEventListener('levelchange',
  50.         batteryLevel);
  51.     battery.addEventListener('chargingchange',
  52.         batteryCharging);
  53.     battery.addEventListener('dischargingtimechange',
  54.         batteryDischargingtimechange);
  55.     battery.addEventListener('chargingtimechange',
  56.         batteryChargingtimechange);
  57.  
  58.   }).catch(err => {
  59.     console.log('Battery API :'err);
  60.   });
  61. }
  62. else {
  63.   console.log('Battery API     ');
  64. }

. . - , Battery Status API .

: 192 | : 0


Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Как измерить ширину текста в JavaScript18.2706-08-2026
2Dead lithium batteries revived to 95% capacity via electrochemical bath013.3525-06-2026
3TFT LCD-дисплеи WeAct Studio FS V1014.1721-06-2026
4Специалист Джакония: сильнее всего на аккумулятор телефона влияет навигатор0503-07-2026
5Особенность батарей смартфонов объяснили0514-07-2026
6How iPhone Batteries Are Really Made0503-07-2026
7Как правильно подключить Li Pol акб с внутренней платой защиты?04.0316-05-2026
8Как освободить занятый COM-порт другого устройства015.4115-06-2026
9Hast du schon mal von der InteractivityAPI gehört?011.0604-07-2026
10Cómo crear un blog de casino usando RSS y API06.9611-12-2024

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 11.33. Источник: www.manhunter.ru.