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

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

  • 原生js
  • Jquery写法

当项目以tab页签方式打开多个iframe窗口时,关闭tab页签同时也需要关闭iframe并释放内存资源,主要是针对IE浏览器。

原生js

Demo地址:https://gist.github.com/Guoye/aa2338b0e7337644c858f7cb2660af8d

/** 
* 销毁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(); 
    
}

你可能感兴趣的:(+Frontend,Practices/前端实战)