當項目以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();
}