如何在手机锁定时运行计时器

How to run a timer when a mobile is locked?

本文关键字:定时 运行 计时器 锁定 手机      更新时间:2023-09-26

我需要JavaScript方面的帮助。我正在使用此代码来获取程序的执行时间:

if(seconds == sec){alert(sec);}
function countdown(element) {
    interval = setInterval(function() {
        var el = document.getElementById(element);    
        if(seconds == 0) {
          //alert(seconds);
          if(minutes == 0) {
            el.innerHTML = "00 : 00"; 
            alert("Sorry, you have exceeded our booking time and your order has been cancelled. We are afraid you have to start over!",null,'');
            clearInterval(interval);
            ajax_load_image();
            window.location.href='movies.html';
            return;
          } else {
            minutes--;
            seconds = 60;
          }
        }
        if(minutes > 0) {     
          var minute_text = minutes+(minutes > 1 ? ' ' : ' ');
        } else {
          var minute_text = '0';
        }
        if(minute_text<0)
        {
          $('#countdown').css('color','red');
        }
        var second_text =seconds > 1 ? '' : '';
        if(minute_text=='')
        {
          el.innerHTML ='0 : '+seconds;
        }
        else
        {
          if(seconds<10)
          {
            seconds='0'+seconds;
          }  
          el.innerHTML = '0'+minute_text + ' : ' + seconds + ' ' + second_text + ' Min';
        }
        seconds--;
    }, 1000);
}

当我锁定手机时,计时器会自动停止。当我锁定手机时,我可以做些什么来运行计时器。帮帮我。

如果您关心实际经过的时间,请不要依赖setInterval(),而是将开始时间与当前时间进行比较。

var startTime = new Date();
setInterval(function() {
   // you might need to call .getTime() here - this works in Chrome,
   // but that might be implementation-dependent
   var seconds = ((new Date()) - startTime) / 1000;
   // etc
});

我不知道这在移动环境中如何工作,但当您解锁并再次运行setInterval()时,它应该会正确超时。