泄漏很容易创建。将下面的HTML放在名为“TestImage0.jpg”,“TestImage1.jpg”,......“TestImage9.jpg”的大型图像列表旁边。每次点击页面时,页面都会泄漏内存(我使用sIEve进行测试)。如果删除resize css,页面将不会泄漏。任何人都可以确认这是一个IE8问题,或者我的实验存在缺陷吗?
测试代码
<html>
<head>
<title>Memory Leak Testing</title>
<script type="text/javascript">
var count = 0;
window.onload =
function() {
AppendImage();
window.document.body.onclick = ReplaceImage;
}
var ReplaceImage = function() {
window.document.body.removeChild(document.getElementById('MemTestObject' + count));
count++;
if (count > 9) {
alert('No more images to load.');
} else {
AppendImage();
}
}
var AppendImage = function() {
var imageObject = document.createElement('img');
imageObject.id = 'MemTestObject' + count;
imageObject.className = 'MemTestObject';
imageObject.src = 'TestImage' + count + '.jpg';
window.document.body.appendChild(imageObject);
}
</script>
<style type="text/css">
.MemTestObject {
width: 140px;
height: 178px;
}
</style>
</head>
<body>
<h1>Memory Leak Testing</h1>
</body>
</html>
答案 0 :(得分:0)
问题是“有人可以验证这是IE8内存泄漏吗?”答案只能是答案,是的,有人可以验证这一点。
如果你真的认为它是IE中有效的内存泄漏,首先要确保它只是IE。然后继续制定具体细节。一旦您可以准确描述如何重新创建此泄漏,您可以考虑向MS报告,但他们可能不会很快打扰它。但通过各种方式传播新闻,以便其他人可以避免陷阱