Windows 7
Firefox 10.0.1
我有一個簡單的setTimeout邏輯,我想使用Firebug調試器測試幾個斷點。Firebug調試器忽略setTimeout?如何測試它?
test.js
console.log("one");
setTimeout(function(){ console.log("hmm"); }, 5000);
console.log("two"); //breakpoint here
console.log("three");
的test.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript" src="../js/test.js" ></script>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
使用Firebug debugger
,我把斷點在註釋行(其中的console.log( 「二」)) 當我加載html頁面我得到輸出:
one
並且進程按照預期在斷點處暫停,但是setTimeout永遠不會執行。
這是螢火蟲調試器的錯誤?有沒有人見過這個?
UPDATE:
我研究多一點,結果發現:
如果在調試模式下點擊「繼續」和5000毫秒內經歷斷點(這是指定時間的setTimeout),在「嗯「的味精出現。
如果你在斷點停止超過5000ms,那麼即使在「繼續」按鈕後,「hmm」msg也不會顯示出來。
如果你把腳本元素,在機身底部發生了什麼? – madr 2012-03-23 07:03:37
這是完全有效的超時行爲。如果你在調試器中的任何一點中斷,在你繼續之前什麼都不會執行 - 超時包括 – 2012-03-23 07:26:05
@madr:沒什麼不同。在「斷點」繼續之後,輸出是「一二三」,就這些了。 – 2012-03-23 07:26:56