發(fā)布時間:2025-03-30 文章來源:xp下載站 瀏覽:
| 在開發(fā)過程中遇到了題目描述的問題,使用 Google 搜索,中文答案很少,而且沒有令人滿意的。就在segmentfault上提了一個問題,而且很快我就發(fā)現(xiàn)被很多人收藏了該問題(SF網(wǎng)站問題被收藏時,會收到消息提醒)。也有一些網(wǎng)友回答該問題,但是一直沒有優(yōu)質(zhì)的答案。 后來在 Stack overflow 找到比較好的答案,這個回答也是點“贊”數(shù)想當高的。英文好的同學建議直接閱讀英文,英文不好的同學可以閱讀下面我的翻譯(英文水平有限,沒有按照字句翻譯,只是根據(jù)我對他們的理解來翻譯)。 瀏覽器中報錯的信息如下:![]() 答案描述:這個問題主要發(fā)生在當Blink(Chrome的渲染引擎)決定延時執(zhí)行一個定時器函數(shù)的時候。比如:通過requestAnimationFrame,setTimeout,setInterval這些對象執(zhí)行的函數(shù)。因為這些對象在執(zhí)行函數(shù)時至少要花費 50ms的時間,如果在這個時候剛好有用戶在網(wǎng)頁上輸入操作,Blink會優(yōu)先執(zhí)行用戶的輸入操作(比如:scrolls事件,tap事件)。 如果你的JavaScript代碼在運行時也出現(xiàn)了這樣的問題,可能是使用者觸發(fā)了同樣的“行為”(指在執(zhí)行定時器函數(shù)時,剛好有用戶在操作)。下面有幾種方式來復現(xiàn)這個問題:
在console(控制臺)中打印的消息指向的問題(chromium平臺bug列表),可以從第40條評論中直接找到解決該問題的方法:
![]() 英文原文如果閱讀中文后還無法理解可以參考英文截圖
![]() ![]() |
下一篇:如何查看IE瀏覽器的版本?