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>

  • 相关阅读:
    2016-8-29
    2016-8-25
    2016-8-24
    2016-8-23
    2016-8-22
    2016-8-16
    2016-8-15
    深圳_多测师面试 __腾讯云/_高级讲师肖sir
    深圳_多测师面试 _新字节跳动(2020年10月23日)_高级讲师肖sir
    多测师讲解自动化 _RF_(202)高级讲师肖sir
  • 原文地址:https://www.cnblogs.com/xieshuang/p/5357248.html
Copyright © 2011-2022 走看看