什么(如果有的话)是在浏览器上不断更新/流式传输的影响

时间:2011-02-17 15:37:49

标签: jquery ajax performance browser

如果我使用这个基本的AJAX jQuery代码:

                $.ajax
                    ({
                    type: "POST",
                    url: "email.php",
                    data: data,
                    cache: false,
                    success: function(html)
                        {
                            $('#success').html(html);   
                        }
                });

我在10秒钟的setInterval函数中使用了它,并将其保留了一天,一周,一个月?在缓存,内存,CPU等方面,这对浏览器有什么不利影响?

此外,它会有任何效果吗?

2 个答案:

答案 0 :(得分:1)

我的经验是,这实际上取决于您尝试发送的信息量。如果它是每10秒钟200字节,没有人会注意到,但是在旧版本的电脑上,确定每3秒钟接收一次1kb是明显的。

最大的问题可能是记忆用法。如果不仔细构造代码,垃圾收集器将无法为每个ajax请求收集函数闭包。随着时间的推移,这相当于大量的momery(想想FireFox中的1GB内存,在一小时内)。

当然这是所有个人经历,你自己的milage可能非常,但我会建议反对它。

答案 1 :(得分:1)

除非存在内存泄漏,否则理论理论上应该不是问题,但唯一可以确定的方法是在您选择的浏览器中对系统进行基准测试。

但是,您可能没有使用最佳解决方案来解决问题:可能在服务器上设置cron任务并使用$ .ajax不时测试其状态可能更适合您;这样你就可以节省带宽,而且你不需要一直打开浏览器。