在IE中彻底删除iframe元素

terence_zhou 2011-07-14 04:38:10
本人在制作弹出窗口组件(其主要结构是div里面包含一个iframe)时发现,在IE中当关闭弹出窗口后(将整个div移除掉),再点击父页面上的任何元素都没有反应,而在firefox中则没有出现这种情况。
出现这种情况的主要原因是,当我移除包含有iframe的div的时候,IE没有即时释放内存所致,所以要在移除完iframe之后,一定要用IE特有的方法CollectGarbage();来回收内存,这才算彻底删除一个元素。以下是我的代码(其中C是指div元素对象):
if(navigator.userAgent.indexOf("MSIE")>0) {//判断当前浏览器是否为IE
C.contents().find("iframe").remove();//先移除iframe
CollectGarbage();//再清理内存
}
C.remove();//最后移除最外面的div
...全文
716 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫桥 2012-08-13
  • 打赏
  • 举报
回复
蛋疼的IE,也遇到这个问题了,折腾了俩小时了。
  • 打赏
  • 举报
回复
欢迎分享。楼主在发帖标题前加上分享便于区别就更好了。
zor_chen 2011-12-16
  • 打赏
  • 举报
回复
同样碰到这个问题,纠结了N多天。。。THX。
IE这个太无力了。。。
xuexiaodong2009 2011-07-14
  • 打赏
  • 举报
回复
学习了
koo42636880 2011-07-14
  • 打赏
  • 举报
回复
感觉用 if(document.all)判断IE直观一点

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧