资讯专栏INFORMATION COLUMN

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

sugarmo / 3247人阅读

摘要:当项目以页签方式打开多个窗口时,关闭页签同时也需要关闭并释放内存资源,主要是针对浏览器。原生销毁,释放所占用的内存。把从页面移除写法把从页面移除

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103330.html

相关文章

  • WEB前端面试题整理(一)

    摘要:响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。删除并返回数组的最后一个元素。返回该对象的源代码。优雅降级一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。 WEB前端面试题的记录(一) 1、获取非行间样式的函数: function getStyle(obj, attr){ if (obj.currentStyle) { return obj.current...

    hoohack 评论0 收藏0
  • JS跨域

    摘要:跨域概述两个不同域互相请求,称为跨域,是由浏览器同源策略限制的一类请求场景。同源策略限制以下几种行为和无法读取无法获得请求不能发送目前主流的用于解决跨域问题的方法跨域缺点这种方法只适用于和窗口,和无法通过这种方法。 跨域概述 两个不同域互相请求,称为跨域,是由浏览器同源策略限制的一类请求场景。 --> 同源策略/SOP(Same origin policy)是浏览器最核心也最基本的安全...

    whataa 评论0 收藏0
  • JS中的垃圾回收内存泄漏

    摘要:介绍浏览器的具有自动垃圾回收机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。中的内存泄漏问题程序的内存溢出后,会使某一段函数体永远失效取决于当时的代码运行到哪一个函数,通常表现为程序突然卡死或程序出现异常。 showImg(https://segmentfault.com/img/remote/1460000018932880?w=4400&h=3080); 1. 介绍 浏...

    xiaolinbang 评论0 收藏0
  • 前端开发中的基础思考题

    摘要:线程的划分尺度小于进程,使得多线程程序的并发性高。线程在执行过程中与进程还是有区别的。用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 前些日子在忙着面试,拿了心仪的 offer 以后闲下来整理了一些面试相关的基本概念。由于很多关于代码细节的东西之前的博客都有更详细的解释,所以本文涉及代码细节比较少,主要是面试相关的概念,也是前端比较零碎的一些知识。以下内容包括我面试过...

    msup 评论0 收藏0
  • 前端开发中的基础思考题

    摘要:线程的划分尺度小于进程,使得多线程程序的并发性高。线程在执行过程中与进程还是有区别的。用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 前些日子在忙着面试,拿了心仪的 offer 以后闲下来整理了一些面试相关的基本概念。由于很多关于代码细节的东西之前的博客都有更详细的解释,所以本文涉及代码细节比较少,主要是面试相关的概念,也是前端比较零碎的一些知识。以下内容包括我面试过...

    Charlie_Jade 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<