IE6-内存无法释放问题

来源:互联网 发布:淘宝联盟提现钱到哪里 编辑:程序博客网 时间:2024/03/29 15:30

细节记录, ie6 对已删除结点的 innerHTML 以及 dom 操作时会出现该删除节点的内存再也释放不掉,而设置删除节点的属性以及 css 则没有问题。

经常在 xhr 中回调处理结点的注意了,可能要处理的结点已经删除了。

测试代码:

Html代码 复制代码收藏代码
  1. <div id="p"> 
  2.      
  3.     <a id="c"> 
  4.         xx 
  5.     </a> 
  6. </div> 
  7.  
  8.  
  9. <script> 
  10.     window.onload=function(){ 
  11.          
  12.         var a=document.getElementById("c"); 
  13.         document.getElementById("p").innerHTML=""
  14.          
  15.         //css,属性没有问题 
  16.         //a.style.width="1px"
  17.         //a.href="xx"
  18.          
  19.         //设置innerHTMl就有问题了 
  20.         a.innerHTML='yy'
  21.          
  22.         //dom a 和 span 都无法释放了 
  23.         //a.appendChild(document.createElement("span")); 
  24.          
  25.         //a=null
  26.      
  27.     } 
  28.     </script> 

正常情况下:

页面执行后 in-use 结点 6 个 ,a 已经释放了

innerHTMl关联:

改变了已删除结点的innerHTML in-use 结点 7 个 ,a 无法释放

  • 大小: 20.5 KB
  • 大小: 21.5 KB
  • sIEve-0.0.8.zip (196.4 KB)
  • 下载次数: 24
原创粉丝点击