v2.5.2
Giriş yap

JavaScript Battery Navigator API

JavaScript'de batarya ile ilgili bilgilere ulaşmak için navigator API'sinin altında bulunan getBattery() metodunu kullanabilirsiniz.

Bu metod bir promise olarak BatteryManager nesnesini döndürür. Bunun içinde ise batarya ile ilgili şu özellikler döner:

  • level - bataryanın seviyesi
  • charging - bataryanın şarj olup olmadığı
  • chargingTime - tam şarj süresi
  • dischargingTime - tahmini şarj bitiş süresi

Ayrıca şu metodları kullanabiliriz:

  • chargingchange - bataryanın şarj olup olmadığını dinler
  • levelchange - bataryanın seviyesini dinler
  • chargingtimechange - tam şarj süresini dinler
  • dischargingtimechange - tahmini şarj bitiş süresini dinler

Tüm bunlara göre hepsini gösteren bir örneği aşağıda bulabilirsiniz:

navigator.getBattery().then(function(battery) {
  // Batarya seviyesini yüzde olarak alın
  var batteryLevel = battery.level * 100;

  // Şarj olup olmadığını kontrol et
  var isCharging = battery.charging;

  // Tam şarj süresini ve tahmini şarj bitiş süresini alın
  var chargingTime = battery.chargingTime;
  var dischargingTime = battery.dischargingTime;

  console.log("Batarya Seviyesi: " + batteryLevel + "%");
  console.log("Şarj Oluyor mu: " + (isCharging ? "Evet" : "Hayır"));
  console.log("Tam Şarj Süresi: " + chargingTime + " saniye");
  console.log("Tahmini Şarj Bitiş Süresi: " + dischargingTime + " saniye");

  battery.addEventListener('chargingchange', function() {
    console.log("Şarj Oluyor mu: " + (battery.charging ? "Evet" : "Hayır"));
  });

  battery.addEventListener('levelchange', function() {
    console.log("Batarya Seviyesi: " + (battery.level * 100) + "%");
  });

  battery.addEventListener('chargingtimechange', function() {
    console.log("Tam Şarj Süresi: " + battery.chargingTime + " saniye");
  });

  battery.addEventListener('dischargingtimechange', function() {
    console.log("Tahmini Şarj Bitiş Süresi: " + battery.dischargingTime + " saniye");
  });

}).catch(function(error) {
  console.error("Batarya bilgisi alınamadı: " + error.message);
});

Ek olarak şarj süresi ve tahmini bitiş süresini daha uygun bir formatta göstermek için aşağıdaki yardımcı fonksiyonu kullanabilirsiniz:

function secondsToHMS(seconds) {
  var hours = Math.floor(seconds / 3600);
  var minutes = Math.floor((seconds % 3600) / 60);
  var remainingSeconds = Math.floor(seconds % 60);

  var result = '';

  if (hours > 0) {
    result += hours + "sa ";
  }
  if (minutes > 0) {
    result += minutes + "dk ";
  }
  if (remainingSeconds > 0 || result === '') {
    result += remainingSeconds + "sn";
  }

  return result.trim();
}
tayfunerbilen
546 gün önce yazdı - 1118 kez görüntülendi.
Önceki JavaScript ile İnternet Bağlantısının Durumunu Kontrol Etme Sonraki JavaScript Clipboard API