2013-05-16 69 views
0

嗨我正在開發一個需要一致的時間間隔的Web應用程序。但是我注意到,當窗口失去焦點時,間隔將會消失。Flash作爲JavaScript間隔替換

我想知道是否可以嵌入閃光燈,設置一個無限循環來迎合這個問題?

回答

0

你不需要閃光燈,你應該能夠稍微修改您的動畫代碼,你只需要做這樣

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)。從here採取

答案和here

+0

謝謝Varuna的建議。 – user1898061

+0

感謝Varuna的建議。不過,我打算讓這個間隔繼續下去,即使這個窗口沒有關注,這就是閃現想到的原因。基本上我必須實現的是在需要持續時間間隔的循環聲音上覆制記錄行爲。 – user1898061

0

最後我發現,有兩種方法可以解決這個。首先是使用HTML 5網絡工作者。但是在這種情況下不會被支持。

第二種方法是限制間隔計時器不少於1000毫秒。這是Bcoz的間隔不死,而是停留在最多1秒。任何比這更頻繁的事情會被緩衝,這會導致問題。