我有一个计时器,每秒倒计时.它工作得很好,直到用户打开我站点的3或4个选项卡,此时最新选项卡的计时器变为双倍或三倍速度.我目前只能重现IE8中的错误.我以前使用的是setInterval,也可以重现Firefox中的错误.
我实际上正在使用FBJS(Facebook的Javascript),所以我只会给出一些伪代码.
function countDown() {
...
setTimeout(function() { countDown() }, 1000);
}
countDown();
Run Code Online (Sandbox Code Playgroud)
但是,我真正想要的是更理论化的.我知道浏览器可以尝试使用setInterval"追赶",但是多个选项卡如何导致setTimeout的这种行为?