原生JS与Jquery删除iframe并释放内存-IE

10次阅读

共计 634 个字符,预计需要花费 2 分钟才能阅读完成。

当项目以 tab 页签方式打开多个 iframe 窗口时,关闭 tab 页签同时也需要关闭 iframe 并释放内存资源,主要是针对 IE 浏览器。
原生 js
/**
* 销毁 iframe,释放 iframe 所占用的内存。
* @param iframe 需要销毁的 iframe id
*/
function destroyIframe(iframeID){
var iframe = document.getElementById(iframeID);

// 把 iframe 指向空白页面,这样可以释放大部分内存。
iframe.src = ‘about:blank’;

try{
iframe.contentWindow.document.write(”);
iframe.contentWindow.document.clear();
}catch(e){}

// 把 iframe 从页面移除
iframe.parentNode.removeChild(iframe);

}
Jquery 写法
function destroyIframe(iframeID){
var iframe = $(‘#’ + iframeID).prop(‘contentWindow’);

$(‘#’ + iframeID).attr(‘src’, ‘about:blank’);

try{
iframe.document.write(”);
iframe.document.clear();
}catch(e){}

// 把 iframe 从页面移除
$(‘#’ + iframeID).remove();

}

正文完
 0