即然該功能如此需要,但為什麼js中不提供這樣的函數呢?
目前浏覽器都是在UI線程解析js,以火狐浏覽器為例,我重新編譯了js引擎,並且在js引警中添加了sleep方法,該方法調用c語言的線程睡眠函數.
將方法附加到Object上,方法簽名為sleep();無參數.默認休眠1秒鐘,如果你在js中調用該函數,浏覽器UI界面將被阻礙。
另外如果你的js函數存在死循環,浏覽器的js解析會檢測到js執行超時會提醒你是否終止執行本頁面的js.
最後提供新編譯的js引擎,將它們替換firefox下的js引擎即可.
然後你可以寫一段js玩一玩,比如"testSleep".sleep();因為我是在Object添加的,所以你可以在任何js對象上調用這個函數.
使用說明:
主要是需要網站訪問者需要安裝您定制的浏覽器。
你自已發布火狐客戶端不就行了,如果你的項目真需要.
必須指定我們自已的浏覽器,就像要求用戶必須安裝flash插件一樣簡單.
附件:firefox_js.rar