似乎Chrome和Firefox *的某些最新版本已經發生變化,現在Javascript運行似乎與當前運行的選項卡不同一。在未聚焦的選項卡中運行時的Javascript性能
當我運行我的Javascript單元測試時,他們通常需要大約20秒才能完成,但現在,當標籤未聚焦時,需要2000秒以上的時間。但奇怪的是,每個單獨測試的運行時間不受影響(大多數仍然是< 10ms)。我正在使用的測試運行器在運行每個測試之間添加了一個setTimeout(0)
,以便瀏覽器在執行時不會鎖定,所以這似乎是可能的罪魁禍首。
有沒有辦法告訴Javascript引擎不要「deprioritise」該標籤,但?很高興能夠在後臺運行我的測試,而無需看我自己...
* 對不起,我不太在意嘗試安裝舊版本以查找何時開始發生。至少現在發生在Firefox 5.0和Chrome 12上。
和:要實現0毫秒在現代瀏覽器超時您可以用'window.postMessage()'的https://developer.mozilla。組織/ EN/DOM /窗口。setTimeout – James
@James - 你發表了你的評論,就像我更新了我的答案和該頁面提到的那篇文章:) –
偉大的思想家都認爲......並且有相同的名字! :) – James