原生JS與Jquery刪除iframe並釋放內存-IE

當項目以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(); 
    
}
相關文章
相關標籤/搜索