点评:不设置为about:blank,内存不会释放掉。还必须用 iframe.document.write(''); 这样才能将内容清空,本文将详细探讨一下iframe的src设置为about:blank之后细节,感兴趣的你可不要错过了哈
设置 iframe 的 src 为 'about:blank' 之后,不置为“about:blank”,内存不会释放掉。还必须用 iframe.document.write('');
VQkHTML5中文学习网 - HTML5先行者学习网这样才能将内容清空,但是这样处理之后任然会有500-1000K左右的内存残留,这就是ie6的iframe bug,动态创建的iframe总会耗费掉一些内存。
VQkHTML5中文学习网 - HTML5先行者学习网 VQkHTML5中文学习网 - HTML5先行者学习网
function clearIframe(id){ VQkHTML5中文学习网 - HTML5先行者学习网
var el = document.getElementById(id), VQkHTML5中文学习网 - HTML5先行者学习网
iframe = el.contentWindow; VQkHTML5中文学习网 - HTML5先行者学习网
if(el){ VQkHTML5中文学习网 - HTML5先行者学习网
el.src = 'about:blank'; VQkHTML5中文学习网 - HTML5先行者学习网
try{ VQkHTML5中文学习网 - HTML5先行者学习网
iframe.document.write(''); VQkHTML5中文学习网 - HTML5先行者学习网
iframe.document.clear(); VQkHTML5中文学习网 - HTML5先行者学习网
}catch(e){}; VQkHTML5中文学习网 - HTML5先行者学习网
//以上可以清除大部分的内存和文档节点记录数了 VQkHTML5中文学习网 - HTML5先行者学习网
//最后删除掉这个 iframe 就哦咧。 VQkHTML5中文学习网 - HTML5先行者学习网
document.body.removeChild(el); VQkHTML5中文学习网 - HTML5先行者学习网
} } clearIframe('iframe_id'); VQkHTML5中文学习网 - HTML5先行者学习网