兄弟 我做个管理系统,点主框架上的菜单 打开的一个新窗口 新窗口是以javascript动态创建一个新iframe的形式(类似一个tabcontrol的效果,只不过每个tabPage都是个iframe,和126.com效果一样)今天测试突然发现创建一个新iframe浏览器多占用内存3M,但是关闭该iframe
内存并没有减少,这样不断的打开关闭再打开,浏览器占用内存一直增加,
怎么办啊???关闭iframe的方法 document.getElementById("frameId").removeNode(true);
浏览器是IE
内存并没有减少,这样不断的打开关闭再打开,浏览器占用内存一直增加,
怎么办啊???关闭iframe的方法 document.getElementById("frameId").removeNode(true);
浏览器是IE
如果display:noen visibily:hidden应该不释放资源
得到iframe的父对象然后调用removeNode()如何
试试看
ie似乎没有system.gc() 呵呵
后来在javascript高级程序设计一书里看到一下一段话.
------应用分界线-------
ECMAScript里有无用存储单元收集程序,不必专门销毁对象来释放内存
当该对象没有再被引用时,该对象就会被废除.
每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些不可预知情况下,无用存储单元收集程序也会运行
------应用分界线-------所以,如果楼主不在其他地方引用了iframe里的对象的话,楼主销毁应该是成功的,但是无用存储单元收集程序没有立即运行,所以没看到内存释放,应该是过了一会就可以看到内存将下来了
废除对象时候要当心,如果要正确废除一个对象,那要先把它所有的引用设置为null--出自javascript高级程序设计 一书
obj.src="javascript:false";
obj.removeNode(true);
obj=null
CollectGarbage();
应该是可以的。
楼主【hujunhua】截止到2008-07-03 23:25:03的历史汇总数据(不包括此帖):
发帖的总数量:13 发帖的总分数:210
结贴的总数量:2 结贴的总分数:40
无满意结贴数:0 无满意结贴分:0
未结的帖子数:11 未结的总分数:170
结贴的百分比:15.38 % 结分的百分比:19.05 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
obj.innerHTML=''
obj.removeNode(true)
obj=null
delete obj
CollectGarbage()