Javascripts导致浏览器内存泄漏

时间:2011-12-05 17:22:33

标签: javascript browser memory-leaks

我有一个Web应用程序,它是一个监视工具。所以有人会一整天都在浏览器上打开它。问题是我每3分钟刷新一次索引页面:

var auto_refresh = setTimeout( function () {
    $('#page-body').load('/Monitor/Index').fadeIn("slow");
}, 180000); 

每次应用程序刷新时,它都会加载3个我在我的布局上调用的javascripts:

<script type="text/javascript" src="@Url.Content("~/Scripts/script-core-v1.0.js")">
</script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.dataTables.js")"> 
</script>  
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.sparkline.js")">
</script>

因此,每次应用刷新时,我的浏览器都会变得越来越大,我认为主要原因是那些脚本。

我该如何避免这个问题? 谢谢!

1 个答案:

答案 0 :(得分:2)

加载该页面的特定部分,而不是整个页面:

$('#page-body').load('/Monitor/Index body')
                                     ^^^^

这是最终的选择器,因此您可以定位特定元素。

如果您不提供选择器,则会加载整个页面(脚本和所有页面)。当您提供选择器时,<script>标签将被剥离。

此外,您的浏览器可能没有泄漏内存。您的网站只是消费它。