我有一個IE10的問題,我可以很容易地複製。在通過幾頁在應用程序中反彈後,IE完全鎖定(沒有「長時間運行的腳本」警告,完全凍結)。我必須從任務管理器中殺死它。我禁用了所有附加組件並擁有乾淨的版面。我在一個相當大的工作站上運行(Win7,16GB ram,i7,yadda yadda)。調試AngularJS Internet Explorer鎖定
它不會在Chrome或Firefox中凍結。只有IE10和IE11。
關於我的應用程序
我與工業控制系統集成,以顯示我的系統的工作狀態。我有很多XHR輪詢正在進行(將轉移到WebSocket,但現在,這很容易與我的API集成)。每500ms刷新一次端點數據,這會更新頁面上的一堆字段。
當應用程序沒有被凍結時,通過瀏覽很好,很快捷。找不到導致凍結的任何特定條件。
在任何時候,我的應用程序有75至400美元的手錶(使用this answer計算)。
當前運行的AngularJS v1.3.0-rc.4。 1.2.25有類似的鎖定。
所以,我的問題
我怎麼連去有關調試呢?我試着離開F12開發工具,沒有任何東西輸出到控制檯。運行腳本分析器(Batarang在IE中不可用)顯示我在$摘要中每10秒花費大約200ms(含)。我接下來要做什麼?
也許Visual Studio的分析器是更好的:http://msdn.microsoft.com/en-us/library/dd264908.aspx – 2014-10-07 14:46:08
如果你正在輪詢每500ms,那麼$ interval setup/initialized controller或service /廠? (我知道這不是直接調試相關的,只是一個想法) – Brocco 2014-10-07 14:50:52
@Brocco它在控制器包含的輪詢服務。 (我只是$ timeout而不是$ interval,所以我確保在處理響應和開始下一個請求之間至少保持500ms的間隔)。 – 2014-10-07 15:38:54