【问题标题】:Does multiple tabs of same site send multiple ajax calls?同一站点的多个选项卡是否发送多个 ajax 调用?
【发布时间】:2013-03-23 20:01:01
【问题描述】:

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

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

现在有人打开了 3 个标签页,其中包含我网站的不同页面。

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

  • 如果是一个,那么tabs如何

  • 如果是三个,那么我们损失了非常非常多的性能,对吗?

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

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

【问题讨论】:

    标签: ajax performance browser tabs


    【解决方案1】:

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

    【讨论】:

    • 因此浏览器不会检查是否已经使用该参数调用。它只会检查是否限制兴奋,对吗?
    • 是的。它会将此类请求排队。
    • 嗯,那么添加cookie检查不是那么有效。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多