zoukankan      html  css  js  c++  java
  • iframe内存释放

    Ext 核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面, 相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从 DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。

    <script>
    
       function clearRAM() {
    
               var frame = document.getElementById("ifr_content");
              frame.src = 'about:blank';
              frame.contentWindow.document.write( '');//清空frame的内容
              frame.contentWindow.document.clear();
              frame.contentWindow.close(); //避免frame内存泄漏
    
              if (navigator.userAgent.indexOf('MSIE') >= 0) {
                      if (CollectGarbage) {
    
                           CollectGarbage(); //IE 特有 释放内存
    
                            //删除原有标记
                           var tags = document.getElementById("ifrSet");
                           tags.removeChild(frame);
    
                            //添加frameset框架
                           var _frame = document.createElement('frame');
                           _frame.src = '';
                           _frame.name = 'content';
                           _frame.id = 'ifr_content';
                           tags.appendChild(_frame);
    
                     }
              }
    
       }
    
        //主动释放 5秒一次
       setInterval( function() {
               if (navigator.userAgent.indexOf('MSIE') >= 0) {
                      if (CollectGarbage) {
                            //alert(1)
                           CollectGarbage(); //IE 特有 释放内存
                     }
              }
       }, 5000)
    

    </ script>

  • 相关阅读:
    黄金点游戏(结对项目)
    WORD COUNT
    企业级应用与互联网应用的区别
    问题
    软件工程期末学习总结
    自我介绍
    四则运算程序
    个人自评
    contenttype
    ubuntusaltstack
  • 原文地址:https://www.cnblogs.com/xieshuang/p/5357248.html
Copyright © 2011-2022 走看看