1

我尝试在 IE(6 和 8)中执行此代码,它可以正常工作,但 IE 在执行时会导致内存泄漏。

<html>

<head>
<script type="text/javascript" src="file_with_data.html" id=currentJsData></script>
<script type="text/javascript">

function currentJsDataRefresh()
{
document.getElementById('currentJsData').src="file_with_data.html";
}


setInterval(currentJsDataRefresh, 300);

</script>
</head>
<body>

</body>
</html>

其他文件 file_with_data.html 的摘录,其中包含 javascript 数据源作为全局变量:

var xMax;
var array1 = new Array();
var array2 = new Array();
var array3 = new Array();
array1[0] = 123;
array1[0] = 456;
...

我试图插入一个删除所有变量的函数,使它们等于 null,但内存泄漏仍然存在。你能解释一下IE中发生了什么吗?

4

1 回答 1

0

看起来您的应用程序中有 (i) 框架,如果您提供更完整的代码示例会有所帮助。 抱歉没有仔细阅读问题

同时检查这个问题:Externally Declared Global Variable Leak(查看代码演示)

当您在一个框架内声明全局变量而在另一框架的上下文中时,可能会发生这种情况。

于 2012-09-11T14:03:09.680 回答