有没有一种很好的方法来调试IE8崩溃的原因?我们有一个简单的AJAX功能的网站:
代码在兼容模式下运行的FF,Chrome,Opera,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 :(得分:0)
答案 1 :(得分: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'); };
}