Jquery自动刷新div

Jquery自动刷新耗尽了很多浏览器内存。 有没有办法阻止这一点。 我每隔3秒刷一次2 div,但我把它移动到9和15秒,它帮助我的网站上的窗口保持打开的时间越长,浏览器崩溃之前所需的内存就越多。

  var auto_refresh = setInterval( function () { $('#details2').load('links2.php').fadeIn("slow"); }, 15000); // refresh every 10000 milliseconds 

您可以尝试跳过load()并使用$ .ajax。 我知道load(); 是一个ajax请求,但我似乎记得它取了整个脚本。 尝试请求脚本,进行数据库计算并将数据作为json返回。 我假设您正在使用数据库请求中的数据发送完整的html。 试着用json代替。

您将获取数据作为对象,例如这样。

 {"variable":"foo"} 

然后,您可以使用简单的每个语句获取数据。

 $.ajax({ url: "links2.php", type: "POST", dataType: "json", success: function(data){ // data here is returned as objects since it's json $.each(data, function(key, value) { $("#details2").empty().append(value.variable); }); } }); 

我认为这不应该泄露您的记忆并最终导致您的浏览器崩溃,即使您每隔一秒左右调用一次。 试一试,让我知道它是怎么回事。

祝好运!

尝试将其更改为:

 // ... $('#details2').empty().load('links2.php').fadeIn('slow'); 

它可以暂停以明确告诉jQuery首先清空容器,因此它可以释放任何事件处理程序等(虽然不清楚那里会有任何处理程序……)

编辑 – 实际上没关系; 我检查了jQuery源代码,它看起来像调用.html()load() ,我很确定)似乎总是先调用empty()

虽然答案已获批准,但我应该告诉你。 我有同样的问题。

我在JQuery文件的src中发现了问题。 我使用JQuery网站url作为我的来源,并且它将我的计算机使用率提高到99%。 但后来我下载了整个JQuery脚本并将其保存在我的网站目录中,我在我的源代码中使用了它,然后计算机使用或内存没有问题。 试试吧..