0

假设我们有网站,每秒钟检查一次是否有任何新消息:

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

现在有人用我网站的不同页面打开了 3 个标签。

我每秒会接到多少个电话,三个还是一个

  • 如果有,那么如何制表符 sinc

  • 如果三个那么我们失去了非常非常多的表现,对吧?

注意到Firebug为同一站点的不同页面显示相同的控制台。这意味着在我的情况下, FireFox(我也希望其他浏览器)理解它的同一个站点并且可以避免多次调用。

我考虑将结果保存到 cookie 中,并且只有在它不是“新鲜”的情况下才进行调用,但不想重新发明轮子。

4

1 回答 1

1

我认为这取决于您使用的浏览器。一些浏览器只使用 2 个与服务器的并发连接,因此您将从多选项卡浏览器客户端获得多达 2 个并发命中。因此,如果您的 javascript 生成多个请求,它们将由浏览器查询和管理。

于 2013-04-02T13:39:41.407 回答