1

在我的 aspx 页面中,我使用xmlhttp.response更新此页面的一部分。使用 js 函数,此更新每 3 秒发生一次。但是当我的电脑进入睡眠模式时,这个更新不会发生。还行吧。但是当电脑从睡眠模式唤醒时,我需要自动开始更新而不重新加载这个页面。这个怎么做?

4

1 回答 1

4

您可以通过比较墙上时间的变化与预期的计时器延迟来检测 JS 时间线中的中断(例如笔记本电脑睡眠、阻止 JS 执行的警报窗口、debugger打开调试器的语句)。例如:

var SAMPLE_RATE = 3000; // 3 seconds
var lastSample = Date.now();
function sample() {
  if (Date.now() - lastSample >= SAMPLE_RATE * 2) {
    // Code here will only run if the timer is delayed by more 2X the sample rate
    // (e.g. if the laptop sleeps for more than 3-6 seconds)
  }
  lastSample = Date.now();
  setTimeout(sample, SAMPLE_RATE);
}

sample();
于 2013-01-02T21:28:16.053 回答