我正在嘗試調試大量複雜的Web應用程序,它們大量使用DIV,AJAX,動態HTML和服務器端代碼來完成其工作。有什麼工具可以跟蹤IE7 javascript問題?
在正常操作下,我們沒有問題。但是,當我們將webapp放入IFRAME中時,某些函數會在IE7中觸發崩潰,導致瀏覽器無法運行(所有使用的CPU)。
有什麼工具可以幫助追蹤可能發生的事情?將IE進程載入調試器給了我各種有關寄存器的迷人信息,但我認爲問題出在javascript上。
我們已經找到了一個問題的應用程序已經是涉及元素的不正確重排根(東西依附於的document.
window.
代替)
我寫的轉儲IFRAME的innerHTML進入測試IFRAME頁textarea,所以它可以在各種狀態下進行比較,但只顯示靜態屬性,我無法確定哪些javascript事件與元素相關聯或確定處理程序是否正在觸發。
IE8,Firefox,Chrome等沒有相同的行爲。
理想情況下,我希望能夠讓我在已知良好狀態下快照DOM(或JavaScript VM?),然後「就在它發生之前」,以便我們可以找出添加/刪除/缺失/不同。那裏有什麼?
更新:我現在試圖使用IE開發工具欄來追蹤它。
更新2:的IE7崩潰發生時跟隨這AJAX代碼:
function Sys$UI$Control$get_element() {
/// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
if (arguments.length !== 0) throw Error.parameterCount();
return this._element;
}
的return this._element;
線之前,我失去了IE瀏覽器出現這種情況的最後一件事。
太棒了,忘了這一點。我使用的是古老的Microsoft Script Debugger,它至少在死亡之前找到了「最後的好函數調用」 - 在Microsoft.Ajax.js中的東西... – mwalker 2010-07-27 20:44:45
默認情況下嵌入在IE 7及更高版本中。對於6和以下你需要下載工具欄。 – 2010-07-28 11:14:04