2012-11-28 11 views
10

jQuery UIダイアログを使用してデータをデータベースに挿入しています。 jQueryダイアログを閉じると、IEがハングしてメッセージが表示されます。「IEは動作しなくなりました」。この問題は、「x64ベースのシステム用Windows 7用Internet Explorer 9の累積的なセキュリティ更新プログラム(KB2761451)」の更新により発生します。この特定のアップデートをアンインストールして問題が解決されたことを確認しました。新しいIEアップデート(jp2761451)によりjQuery UIダイアログを閉じる際にInternet Explorerがクラッシュする

私は、IEのアップデートは、恒久的な解決策ではありませんアンインストールするには、ダイアログ

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

を閉じるために、次のコード行を使用しています。 どうすればこの問題を解決できますか?

+0

これは 'document.ready'ですか?そして、あなたは次のように試しましたか? '$ dialog = $( '#' + dialogName).dialog({close:function(){$ dialog.dialog( 'close');}}))'? – Valky

+3

このアップデートがインストールされており、jQueryダイアログを閉じても問題はありません。このエラーを引き起こしている他のプラグインかもしれません。 – shanabus

+0

jqueryまたはjquery UIのバージョンを変更しようとしましたか? – Shawn

答えて

1

IEでDOMの準備ができる前に.dialog()を呼び出すことはできません。 $(document).ready()の代わりにあなたの呼び出しをtest()に移動してください。

0

IEのクラッシュ前にダイアログが閉じますか? try catchでロックするとどうなりますか?

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

私は同じ問題を持っていますが、私の場合には3つの必要な条件があった:それは正常に動作1.9.2でjqueryの-UI 1.10.3を(使用して

1))

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

3)モーダルダイアログを表示::)ページのinitスクリプトで体にフォームを追加するスクリプトがあった

01この条件のいずれかを削除

:)私のために、この問題を解決し、jsfiddle.netの例: http://jsfiddle.net/Zm3Qm/1/

1

私は私のダイアログでフォーム要素を持つまで、このエラーを追跡しました。 .empty()を実行しています。 IE9がクラッシュするのを止めたダイアログを閉じる前に、フォームを含む内容をクリアする。

関連する問題