0

問題を解決しようとしています。基本的に、長時間実行されているJavascriptコードに「読み込み中のメッセージ」を表示し、このコードが終了すると非表示にする必要があるため、次のようになります。

showMessage();

executeMyCode();

hiddenMessage();

ただし、Internet Explorerでこれを機能させる際に問題が発生しました。現在、すべてのスクリプトコードが終了するまでページがフリーズしているように見え、ユーザーに迷惑をかける可能性があります。setTimeout()を使用したアプローチを試しましたが、これは機能していません。これを解決したものはありますか?よろしくお願いします。

前もって感謝します。

4

1 に答える 1

0

あなたはこのようなことをすることができます:

function showMessage(){
    /* show message */;
    window.delay=setTimeout(executeMyCode,100); // Give some time to browser to render message
    return;
}

function executeMyCode(){
    clearTimeout(window.delay);
    /* execute long running code */
    /* hide message */
    return;
}

長いコードの実行中はブラウザがフリーズしますが、ユーザーはメッセージを見ることができます。

于 2012-07-31T14:55:04.213 に答える