您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页[分享] 关于 iframe 内存泄漏问题

[分享] 关于 iframe 内存泄漏问题

来源:华佗小知识

设置 iframe 的 src 为 'about:blank' 之后,不置为“about:blank”,内存不会释放掉。还必须用 iframe.document.write('');

这样才能将内容清空,但是这样处理之后任然会有500-1000K左右的内存残留,这就是ie6的iframe bug,动态创建的iframe总会耗费掉一些内存。

 

1、资源回收 

function  clearIframe(id){
    
var  el  =  document.getElementById(id),
        iframe 
=  el.contentWindow;
    
if (el){
        el.src 
=   ' about:blank ' ;
        
try {
            iframe.document.write(
'' );
            iframe.document.clear();
        }
catch (e){};
        
// 以上可以清除大部分的内存和文档节点记录数了
         // 最后删除掉这个 iframe 就哦咧。
        document.body.removeChild(el);
    }
}

2、触发事件

clearIframe( ' iframe_id ' );

 

可以在页面卸载前,移除 iframe 前触发。

文中没有提到 “CollectGarbage();”  这个方法因为不兼容其他浏览器,有时还不能释放,而且不建议做频繁释放操作,所以有些内存还是交给浏览器处理吧。

如果还有什么好的方法,欢迎提出。

转载于:https://www.cnblogs.com/wuxinxi007/archive/2009/12/23/1630469.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务