Internet Explorer停止响应

时间:2012-09-21 08:19:39

标签: internet-explorer

我正在运行一小段javascript,显示/隐藏约170个表行。在IE9中,这是间歇性地导致浏览器“停止响应”并死亡。我得到的对话框说“Internet Explorer已停止工作......”。

在Chrome中,它很好。该操作大约需要1秒才能完成(当它在IE中工作时需要1-2秒)。

我正在做的就是在递归函数中调用这一行170次(id是一个唯一标识每个表tr行的guid):

$("#" + id).css("display", "block");

如果我在显示行之间的代码中引入1毫秒的超时,则每次都有效!

setTimeout(function () { $("#" + id).css("display", "block"); }, 1);

也尝试了jquery show方法。

我也在事件日志中收到错误,如下所示:

错误应用程序名称:IEXPLORE.EXE,版本:9.0.8112.16448,时间戳:0x4fecf1b7 错误模块名称:MSHTML.dll,版本:9.0.8112.16448,时间戳:0x4fecfb0e 异常代码:0xc0000005 故障偏移:0x002cd4e6 错误进程id:0x1764 错误应用程序启动时间:0x01cd9725ec072ed0 错误的应用程序路径:C:\ Program Files(x86)\ Internet Explorer \ IEXPLORE.EXE 错误模块路径:C:\ Windows \ system32 \ MSHTML.dll 报告ID:721d0e53-03c5-11e2-98c9-005056c00008

执行重复性任务时是否有其他人遇到过这种行为?

1 个答案:

答案 0 :(得分:-1)

请不要使用递归功能 因为这是不好的做法,代码中必须有一些内存泄漏 setTimeout(),因此可能是WITH IE的原因。