iframe 内存释放
2014-01-20 10:17
309 查看
未经验证
Ext 核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面, 相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从 DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。
按照上述方法,在tab的close事件中添加了iframe的销毁代码,IE的内存泄露问题得以解决。
var frame = $('iframe');
frame[0].contentWindow.document.write('');//清空iframe的内容
frame[0].contentWindow.close();//避免iframe内存泄漏
frame.remove();//删除iframe
===http://www.cnblogs.com/wuxinxi007/archive/2009/12/23/1630469.html
function clearIframe(id){
var el = document.getElementById(id),
iframe = el.contentWindow;
if(el){
el.src = 'about:blank';
try{
iframe.document.write('');
iframe.document.clear();
}catch(e){};
//以上可以清除大部分的内存和文档节点记录数了
//最后删除掉这个 iframe 就哦咧。
document.body.removeChild(el);
}
}
Ext 核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面, 相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从 DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。
按照上述方法,在tab的close事件中添加了iframe的销毁代码,IE的内存泄露问题得以解决。
var frame = $('iframe');
frame[0].contentWindow.document.write('');//清空iframe的内容
frame[0].contentWindow.close();//避免iframe内存泄漏
frame.remove();//删除iframe
===http://www.cnblogs.com/wuxinxi007/archive/2009/12/23/1630469.html
function clearIframe(id){
var el = document.getElementById(id),
iframe = el.contentWindow;
if(el){
el.src = 'about:blank';
try{
iframe.document.write('');
iframe.document.clear();
}catch(e){};
//以上可以清除大部分的内存和文档节点记录数了
//最后删除掉这个 iframe 就哦咧。
document.body.removeChild(el);
}
}
相关文章推荐
- json_encode中文问题
- 解决 WinForm 中 TreeView 的 StateImageList 实际显示大小无法改变的问题 及 TreeView其他问题
- cocos2dx之加速器
- org.apache.jasper.JasperException: Unable to compile class for JSP
- 趣味理解网关、路由等概念
- Sqlite数据库的加密
- 船舶基本知识
- union union all inner join on, left join on, right join on
- Hyper-v学习(一),虚拟机实时迁移
- 知名第三方RSS阅读器Feedly新添多项功能 多款应用通过Feedly cloud API接入平台
- 常用jquery备份
- smarty学习——高级知识
- Django学习系列(一)--安装Django
- lable大小固定,内容根据lable大小而改变
- 关于java annotation的学习笔记。。。
- wine清除软件残余图标
- 与技术无关
- 单道批处理操作系统、多道批处理操作系统以及分时操作系统区别
- 前店后厂与中信银行台州分行签订《电子商务战略合作协议》
- 哪些我喜欢的词