Flash作为javascript间隔替换

时间:2013-05-16 12:12:16

标签: flash intervals

您好我正在开发一个需要一致间隔的Web应用程序。但是我注意到当窗口失去焦点时,间隔将会消失。

我想知道是否有可能嵌入一个设置无限循环的闪存来解决这个问题?

2 个答案:

答案 0 :(得分:0)

你不需要flash,你应该可以稍微修改你的动画代码,你只需要做这样的事情

var $div = $('div');

var a = 0;

setInterval(function() {
    a++;
    $div.stop(true,true).css("left", a);
}, 1000 / 30);

非活动浏览器选项卡缓冲了一些setInterval或setTimeout函数。

stop(true,true)将停止所有缓冲的事件,并立即执行最后一个动画。

window.setTimeout()方法现在限制在非活动选项卡中每秒发送不超过一次超时。此外,它现在将嵌套超时限制为HTML5规范允许的最小值:4 ms(而不是用于钳位的10 ms)。

来自herehere

的答案

答案 1 :(得分:0)

最后我发现有两种方法可以解决这个问题。首先是使用HTML 5网络工作者。但是,在这种情况下不支持ie。

第二种方法是将间隔计时器限制在不小于1000毫秒。它是Bcoz,间隔不会死亡,而是保持最大1s。任何比这更频繁的东西都会被缓冲,这会导致问题。