我正在运行一小段 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
有没有其他人在执行重复性任务时经历过这种行为?