自己做网站用什么app,昆山开发区人才网,央视网商城,建设网站还要云服务器吗1、 现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加#xff08;大概10M左右#xff09;#xff0c;不会自动释放#xff0c;最终导致内存溢出 2、 解决过程 经过网络的一番搜索#xff0c;基本上给出的解决方案是清空iframe内容#xff0c;并移除ifram…1、 现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加大概10M左右不会自动释放最终导致内存溢出 2、 解决过程 经过网络的一番搜索基本上给出的解决方案是清空iframe内容并移除iframe节点。方法如下 var el document.getElementById(IFrame1);if (el) {iframe el.contentWindow;//清除文档el.src about:blank;try {iframe.document.write();iframe.document.clear();CollectGarbage();} catch (e) { };//清除节点var _parentElement el.parentNode;if (_parentElement) {_parentElement.removeChild(el);}} 此方法在重新加载iframe时都会释放一定的内存可以从进程中看到内存的变化但加载后新增的内存比释放的内存要多很多再多次加载后还是会导致内存溢出 还有的说是IE的bug要用CollectGarbage函数进行垃圾回收但经过测试此函数没有效果内存溢出也不仅仅在IE存在火狐和谷歌浏览器都有此现象只是溢出程度较轻 使用$.get替换iframe动态加载html同样会导致内存溢出看来不是iframe的原因 $.get(src, function (data) { //初始將a.html include div#iframe$(#center).empty();$(#center).html(data);}); 3、结论 上述方法确实释放了一定的内存但动态加载新的iframe后溢出了更多的内存看来不仅仅是这方面的原因。后来经过调试代码发现iframe页面引入了大量的js库大概有几十种如果删除一些内存溢出现象就会得到缓解看来这就是原因。下一步准备对js库进行压缩和合并看能否降低内存溢出。转载于:https://www.cnblogs.com/gossip/p/3689604.html