在IE中彻底删除iframe元素
本人在制作弹出窗口组件(其主要结构是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