JavaScript中删除iframe的正确方式
目录
当项目以 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();
}