1

window.showmodaldialog を使用するプロジェクトがありますが、これは Firefox では廃止され、Chrome には存在しません。これはプロジェクト全体で広く使用されており、window.showmodaldialog がコードの実行を一時停止するという事実に依存しています。私たちはその場所で機能するものを見つけようとしています。たとえば、jQuery ダイアログはうまく機能しますが、コードの実行を一時停止しません。私たちのプロジェクトの機能は、次のように構成されています。オブジェクトを更新するコードは、モーダル ダイアログが閉じられるまで実行できません。私たちのプロジェクトにはこのような関数がたくさんあるので、コールバックで書き直すのは非常に時間がかかります。ありがとう。

function DoSomething(){
    window.showmodaldialog(url,...)

    //code to refresh objects, etc.
}
4

1 に答える 1

0

URL の呼び出しでユーザーとのやり取りが必要なく、要素を更新するためだけにある場合は、ajax による同期呼び出しを使用する必要があります。

$.ajax({
    url: theurl,
    async: false
});

これを行う完全な関数:

var modalCall = function(url){
     $.ajax({
         url: url, 
         async: false,
         crossdomain: true,
         error: function(){
             throw "BLOCK EXECUTION";
         }
     });
 };

完全な例: http://jsfiddle.net/894c6n1z/

于 2014-09-10T02:57:55.527 に答える