5

私たちの問題をできるだけ簡単に説明しようと思います。Web アプリケーション + クロムでトリッキーなバグに直面しています。

曲線を表示する Web ページがあり、曲線の更新は setTimeout によってトリガーされます。コンピュータがスリープ状態になってから復帰すると、setTimeout が再起動していないように見えます。「リアルタイム」ボタンを押してsetTimeoutを再起動する必要があり、その後適切に再起動します。

この問題を修正し、スリープから復帰したときにページの更新をアクティブにする方法はありますか?

更新:異なる曲線を表示する 6 つの Chrome インスタンスがあります。すべて自動更新。一晩置いておきます。朝、コンピューターをスリープ モードから復帰させ、すべてのウィンドウをここに表示します。フリーズはありませんが、リフレッシュはもうありません。更新を再開するには、各画面の「リアルタイム」ボタンを押す必要があります。

4

1 に答える 1

1

コンピューターがスリープから復帰したときに、またはfocus全体のイベントがトリガーされるかどうかを確認します。トリガーされた場合は、それらのハンドラーからタイマーをリセットします。windowdocument

if (/*@cc_on!@*/false) { // check for Internet Explorer
    document.onfocusin = onFocus;
    document.onfocusout = onBlur;
} else {
    window.onfocus = onFocus;
    window.onblur = onBlur;
}
于 2014-12-02T10:12:51.710 に答える