1

私のaspxページではxmlhttp.response、このページの一部を更新するために使用します。この更新は、js関数を使用して3秒ごとに発生します。しかし、私のPCがスリープモードになると、この更新は行われません。これで結構です。しかし、PCがスリープモードから復帰したとき、このページをリロードせずに自動的に更新を開始する必要があります。これを行う方法?

4

1 に答える 1

4

debugger壁時間の変化を予想されるタイマー遅延と比較することで、JSタイムラインの中断(ラップトップのスリープ、JSの実行をブロックするアラートウィンドウ、デバッガーを開くステートメントなど)を検出できます。例えば:

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 に答える