window.showModalDialog を使用してモーダル ウィンドウを表示する大規模なエンタープライズ アプリケーションがあります。ダイアログメッセージと子フォームを表示するために、多くの場所でそれらを使用しました。Chrome では window.showModalDialog がモーダル ダイアログを表示しないため、すべてのブラウザーをサポートしたいと考えています。コンテンツの上にオーバーレイ div を使用してから、より高い z-index を使用して div でトップ ウィンドウを表示することを考えています。それは見事に動作しますが、以下は私たちが直面している大きな問題です - 1. ほとんどのコードは次の構文を使用します -
var return = window.showModalDialog();
doSomethingWithReturnValue(return);
メソッドを使用して modalDialog を表示すると、コードは実行されず、ユーザーがウィンドウを閉じるまで待機し、次のコード行 doSomethingWithReturn() メソッドが実行されます。このコードは、コード内の少なくとも数百の場所で使用されています。javascript で window.showModalDialog() を次のようなものに置き換える方法があります -
var return = showDialogWindow() // this will use overlays and div with higher index to // display the content
私たちの問題は、 showDialogWindow() がすぐに戻り、ユーザーがウィンドウを閉じるのを待たずにすべてのコードが実行されることです。代わりにコールバックを使用することもできますが、その結果、コード全体が変更され、より多くのテストが行われ、より多くのバグが発生する可能性があります。
ユーザーが一番上のdivを閉じていない限り、showDialogWidnowが待機するような方法でshowDialogWindow()を設計する方法はありますか?
ありがとう、さらに質問がある場合はお知らせください。