リークは非常に簡単に作成できます。以下の HTML を、"TestImage0.jpg"、"TestImage1.jpg"、..."TestImage9.jpg" という名前の大きな画像のリストの横に配置します。ページをクリックするたびに、ページがメモリ リークします (テストには sIEve を使用しました)。サイズ変更 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>