0

新しいメッセージがあるかどうかを毎秒チェックするサイトがあるとします。

$(function(){
    setInterval(function(){
        $.ajax({
            url: 'message_check.php',
            success: function(data){
               if(data)$('#someDiv').html('NEW MESSAGE!');              
            }
         });
    },1000);
});

今、誰かが私のサイトの異なるページで 3 つのタブを開きました。

毎秒、3 回または1回、何回電話がかかってきますか?

  • もしそうなら、タブはどのようにsincしますか?

  • 3 の場合、非常に多くのパフォーマンスが失われますよね?

Firebugが同じサイトの異なるページに対して同じコンソールを表示することに気付きました。これは、私の場合のFireFox (および他のブラウザーも希望する)が同じサイトを理解し、複数の呼び出しを回避できることを意味します。

結果をクッキーに保存することを考え、「新鮮」ではない場合にのみ呼び出しを行いますが、車輪を再発明したくありません。

4

1 に答える 1

1

お使いのブラウザにもよると思います。一部のブラウザーは、サーバーへの同時接続を 2 つしか使用しないため、マルチタブ ブラウザー クライアントから最大 2 つの同時ヒットを取得します。そのため、JavaScript が複数のリクエストを生成した場合、それらはブラウザーによって待機および管理されます。

于 2013-04-02T13:39:41.407 に答える