2

ajaxを使用してスクリプトを呼び出しています。ページにスクリプト実行の進行状況を表示したい。

つまり、div に次のメッセージを段階的に表示したいということです。

//after execution of section 1
Section 1 of script executed successfully.
//after execution of section 2
Section 2 of script executed successfully. 
//after execution of last section
Script execution complete.

私が使用している方法は、スクリプトの完全な実行後にのみ 3 つのメッセージをすべて表示することです。

var script1_ajax = new XMLHttpRequest();

    script1_ajax.onreadystatechange=function() {            
        if (script1_ajax.readyState==4 && script1_ajax.status==200) {

            document.getElementById('result').innerHTML = script1_ajax.responseText;

        }
    }

スクリプトを複数のスクリプトに分割したくありません。

これを行う方法を提案してください。

4

1 に答える 1

3

サーバーへの接続を開いたままにして、その接続から暫定的な更新を取得するためのさまざまな手法があります。これらの手法には、ここで説明する「コメット」という総称が使用されます。チャンク ブロックを含むロング ポーリング、非表示の iframe、一部のブラウザーでの XHR など。これらの 1 つ以上が役立つ場合があります。さまざまな手法がさまざまなブラウザーで機能し、それぞれに長所と短所があることに注意してください。

数年後にはWeb ソケットに頼ることができるようになり、状況はかなり良くなるでしょうが、サイト/アプリケーションの使用を現在それらをサポートしている少数のブラウザーに制限できない限り、現時点ではそれはオプションではありません。

于 2012-05-23T07:57:53.767 に答える