2010-08-16 111 views
2

有沒有一種好的方法來調試IE8崩潰的原因?我們有一個簡單的AJAX功能的網站:如何調試IE8崩潰?

  • 帶有相應按鈕的文本框,onclick事件觸發JS事件。
  • JS事件調用.NET服務(下面的代碼)

的代碼工作正常在FF,鉻,歌劇,Safari瀏覽器,IE7,IE8在兼容模式下運行。但是,在標準模式下運行IE8會導致窗口崩潰/恢復。沒有錯誤(崩潰之前或之後),並使用開發人員工具欄,似乎一切似乎已正確加載。

我已經恢復到使用基本MSGBOX的制定,在該瀏覽器崩潰的地步,這似乎是或服務調用後:

Service.CallService(params, onServiceSuccess, onServiceError); 

<asp:ScriptManager ID="scriptMgr" runat="server"> 
    <Services> 
     <asp:ServiceReference Path="<somepath>/Service.asmx" InlineScript="false" /> 
    </Services> 
</asp:ScriptManager> 

的服務是很簡單的,它只是返回一個字符串[]。

最終,我正在尋找一種工具,使我能夠簡單地捕捉異常,並找出問題所在。我的猜測是,我必須做一些不符合規定的事情,但理想情況下,我希望有一個工具可以讓我快速診斷問題,而不會回覆猜測遊戲。

任何提示都非常讚賞

編輯

一些進展,建議使用下面我的JS調試器可以看到該服務的回報,並通過電話OnServiceSuccess成功運行。這一呼籲並沒有做太多,它使用了一些jQuery來隱藏某些表單元素:

$('.row').filter(':not(selector)').hide(); 

通過進一步的調試器,然後將我們帶入了框架代碼跟蹤,我可以看到我們正確處理XMLHTTP對象... ..然後在退出函數(調用堆棧中的最後一個)之後......然後它崩潰。

關閉到谷歌我去....

感謝

回答

0

對於那些仍在尋找這個答案的人,我們最近在IE9中遇到了類似的問題。

我不確定IE8的行爲是否仍然像這樣發生,但它似乎確實很難調試IE崩潰(即當JavaScript執行完成後瀏覽器崩潰)。

在我們的情況下,我們不得不寫一些行的IE9隱藏解決方法:

if ($.browser.msie && parseInt($.browser.version, 10) >= 9) 
{ 
    showRow = function(row) { row.css('visibility', ''); }; 
    hideRow = function(row) { row.css('visibility', 'collapse'); }; 
} 
0
+0

感謝 - 這是非常冷靜,並幫助一點點....但我不認爲這個問題是JS問題(因爲它在其他瀏覽器中運行)。這很有幫助,因爲它證實了我的服務調用運行完成,並執行成功功能.....然後崩潰。我真的需要知道的是IE8遇到什麼問題,它無法處理:( 我會發布在我原來的帖子上面運行的JS – Chris 2010-08-16 10:53:50