我尝试在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;
...
我试图插入一个删除所有vars的函数,使它们等于null,但内存泄漏仍然存在。你能解释IE中发生的事情吗?
答案 0 :(得分:0)
看起来您的应用程序中有(i)帧,如果您提供了更完整的代码示例,它会有所帮助。 抱歉没有仔细阅读问题 < / p>
同时检查此问题:Externally Declared Global Variable Leak(查看代码演示)
当您在另一帧的上下文中声明全局变量时,可能会发生这种情况。