当项目以 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();
}