Chrome / Javascript SetTimeout在计算机进入睡眠状态后卡住

Chrome / Javascript SetTimeout stuck after computer goes to sleep

本文关键字:状态 Javascript SetTimeout 计算机 Chrome      更新时间:2023-09-26

我将尝试以最简单的方式解释我们的问题。我们的网络应用程序+铬面临着一个棘手的错误。

我们有一个显示曲线的网页,曲线的刷新是由 setTimeout 触发的。如果计算机进入睡眠状态,然后唤醒,则看起来设置超时未重新启动。我们必须按下"实时"按钮重新启动 setTimeout,然后它才能正确重新启动。

有没有办法解决此问题并使页面刷新在从睡眠中醒来时处于活动状态?

更新:我们有 6 个显示不同曲线的 Chrome 实例。全部自动刷新。我们把它留到晚上。早上,将计算机从睡眠模式唤醒,所有窗口都在这里,没有冻结,但不再刷新。我们必须在每个屏幕上按下"实时"按钮才能重新开始刷新。

检查计算机从睡眠状态恢复时是否触发整个windowdocumentfocus事件。如果触发,则从这些处理程序重置计时器。

if (/*@cc_on!@*/false) { // check for Internet Explorer
    document.onfocusin = onFocus;
    document.onfocusout = onBlur;
} else {
    window.onfocus = onFocus;
    window.onblur = onBlur;
}