读到篇文章,mark一下。
iframe src不设置为about:blank,内存不会释放掉,还必须用 iframe.document.write(''); 这样才能将内容清空
但是这样处理之后任然会有500-1000K左右的内存残留,这就是ie6的iframe bug,
动态创建的iframe总会耗费掉一些内存。
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); } } clearIframe('iframe_id');
但是如果是https协议,在设置about:blank则报错了,需要更改为javascript:void(0)