由于新的IE更新,关闭jQuery UI对话框时Internet Explorer崩溃(KB2761451)

时间:2012-11-28 13:38:41

标签: jquery jquery-ui internet-explorer

我们正在使用jQuery UI Dialog将数据插入数据库。当jQuery对话框关闭提交时,IE挂起并显示一条消息:“IE停止工作”。此问题是由于更新“用于Windows 7的基于x64的系统的Internet Explorer 9的累积安全更新(KB2761451)”引起的。我已通过卸载确认此特定更新,问题已得到解决。

我正在使用以下代码行来关闭对话框

 $('#' + dialogName).dialog('close'); 

卸载IE Update并不是一个永久的解决方案。 我怎样才能永久地解决这个问题????

4 个答案:

答案 0 :(得分:1)

在IE中准备好DOM之前,你不能调用.dialog()。将您的调用移至test()而不是$(document).ready();

答案 1 :(得分:1)

我有同样的问题,但就我而言,有3个必要条件:

1)使用jquery-ui 1.10.3(1.9.2工作正常)

2)在页面的init脚本中有一个脚本,它将一个表单添加到正文中:

jQuery('<form id="frmId" method="post" action="page.aspx"></form>')
    .appendTo("body");

3)显示模态对话框:

$("<div/>").dialog({modal});

删除任何这种情况对我来说解决了这个问题:)

并且,jsfiddle.net上的示例: http://jsfiddle.net/Zm3Qm/1/

答案 2 :(得分:1)

我将此错误跟踪到我的对话框中有表单元素。运行.empty();在关闭对话框之前清除包含表单的内容使IE9停止崩溃。

答案 3 :(得分:0)

IE崩溃前关闭对话框? 如果你用try catch锁定会怎么样?

try{
    $('#' + dialogName).dialog('close'); 
}catch(e){
    alert(e);
}