gpt4 book ai didi

javascript - setInterval 在选项卡/窗口不活动时变慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:28 25 4
gpt4 key购买 nike

我构建了一个网络应用程序,并使用带有 500 毫秒计时器的 setInterval 作为一些时钟。

当窗口处于事件状态时,时钟运行完美,我使用它:

var tempTimer = 0;
setInterval(function () {
goTimer()
}, 500);

function goTimer() {
tempTimer++;
$("#timer").val(tempTimer);
}

但问题是当窗口/选项卡变为非事件状态时 - 间隔更改为 1000 毫秒!

当我再次关注窗口/选项卡时,它变回 500 毫秒。

检查一下:http://jsfiddle.net/4Jw37/

非常感谢。

最佳答案

是的,这种行为是故意的。

参见 MDN article :

In (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2) and Chrome 11, timeouts are clamped to firing no more often than once per second (1000ms) in inactive tabs; see bug 633421 for more information about this in Mozilla or crbug.com/66078 for details about this in Chrome.

还有 spec说:

Note: This API does not guarantee that timers will run exactly on schedule. Delays due to CPU load, other tasks, etc, are to be expected.

关于javascript - setInterval 在选项卡/窗口不活动时变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23506103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com