jquery脚本正在使用很多内存

时间:2009-07-23 23:14:12

标签: javascript jquery ajax performance

我在社交网站上有以下代码,它会加载一个文件,向用户显示新的通知消息(如果存在)。

问题是当我让页面打开一段时间后,它最终在我的电脑上消耗了太多内存并开始使firefox无响应并抛出一条错误消息,说内存不足并询问我是否应该中止脚本或类似的东西。

有没有办法做我所做的事,但不会长时间耗尽这么多的记忆?

<script type='text/javascript'> 
$(document).ready(function(){ 
     var updatenotification = function(){ 
          $('#notificationcontainer') 
               .load('http://localhost/member/beta_new/notifications.inc.php') 
               .fadeIn("slow"); 
     }; 
     var auto_refresh = setInterval(function(){updatenotification();}, 60000); 
     updatenotification(); 
}); 
</script>

1 个答案:

答案 0 :(得分:1)

你究竟回报了什么?我会假设它是一个大的ish dom片段。您可以更改代码以返回一个小的json字符串,检查是否有有效的新通知,然后将一些标记写入div而不是每次重新加载它,无论是否有新的通知。你能否展示一下你要回归的标记?

我做了一些太多的假设而不确切知道你的回归。如果它只是一个小小的html fragement我真的不能看到这个问题。该脚本看起来不错,不应该引起您所说的问题。

还要记住,萤火虫目前确实存在很大问题。在浏览像StackOverflow,Netvibes这样的重型ajax / js网站时,有一些非常讨厌的漏洞会导致内存警告对话框。你的普通用户(我假设!)不会有萤火虫,所以看不到任何东西