4

リークは非常に簡単に作成できます。以下の 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>
4

1 に答える 1

0

問題は、「誰かがこれが IE8 のメモリ リークであることを確認できますか?」ということです。答えは、はい、誰かがこれを確認できます。

本当に IE の有効なメモリ リークであると思われる場合は、まずそれが単なる IE であることを確認してください。次に、具体的な作業を続けます。このリークを再現する方法を正確に説明できたら、MS に報告することを検討できますが、おそらくすぐに修正することはありません. しかし、他の人が罠を回避できるように、ぜひニュースを広めてください

于 2012-03-07T10:31:42.423 に答える