运行定时器在iPhone睡眠模式(没有javascript)



所以,正如我今天所学到的,如果我把手机放在睡眠模式,运行一个javascript定时器功能,它会变成暂停。

当我需要一个计时器为特定的应用程序-需要继续记录时间和显示它,更新元素的innerHTML每秒钟:你认为我应该如何去让这个计时器工作?

谢谢你的帮助!

var startTime;
var timer;
function displayTime() {
    var now = new Date();
    var timeDiff = new Date(now - startTime); // constructor uses UTC, so use UTC date functions from here on
    var hours = timeDiff.getUTCHours();
    var mins = (timeDiff.getUTCMinutes() < 10) ? '0' + timeDiff.getUTCMinutes() : timeDiff.getUTCMinutes();
    var secs = (timeDiff.getUTCSeconds() < 10) ? '0' + timeDiff.getUTCSeconds() : timeDiff.getUTCSeconds();
    document.getElementById('time').innerHTML = hours + ':' + mins + ':' + secs;
    if (hours >= 2) clearInterval(timer);
}
window.onload = function() {
    startTime = new Date();
    timer = setInterval(displayTime, 1000);
}

当手机醒来,应用程序回到前台时,startTime应该仍然是你开始计数的原始时间,所以你只需要知道现在和那时之间的差异。它不需要在休眠时更新显示;它只需要知道从原始开始时间到现在的时间。

最新更新