我现在想做一个效果,就是主页里面嵌套一个iframe,根据左边的菜单栏选择的内容不同,iframe内的页面随之改变,现在采用的方式是点击一个菜单,然后动态创建一个iframe,加载一个jsp页面,然后点击另一个菜单加载另一个页面,为了提高速度,采用
了动态创建和动态销毁iframe的方式,这样却导致了ie最后内存泄露
//创建
var iframe = document.createElement("iframe");
iframe.src = pageURL;
document.getElementById("contentDiv").appendChild(iframe);
//销毁
tempFrame.src = blankPageURL;
tempFrame.contentWindow.document.write('');
tempFrame.contentWindow.document.clear();
tempFrame.contentWindow.close();
document.getElementById('contentDiv').removeChild(tempFrame);
tempFrame = null;
CollectGarbage();请问有什么好的解决方法或者其他的方案来实现
了动态创建和动态销毁iframe的方式,这样却导致了ie最后内存泄露
//创建
var iframe = document.createElement("iframe");
iframe.src = pageURL;
document.getElementById("contentDiv").appendChild(iframe);
//销毁
tempFrame.src = blankPageURL;
tempFrame.contentWindow.document.write('');
tempFrame.contentWindow.document.clear();
tempFrame.contentWindow.close();
document.getElementById('contentDiv').removeChild(tempFrame);
tempFrame = null;
CollectGarbage();请问有什么好的解决方法或者其他的方案来实现
我换了最简单的用一个iframe,通过改变src来加载不同页面时,点击一次可以加载出来,再点击一次又加载不出来了,然后再点击又可以加载出来,请问这是为什么????
一会可以点一会不可以点?什么意思?第二点 猜是缓存的问题blankPageURL+'?ran='+Math.random()试试
“别名”的意思是iframe、tempFrame指向同一个iframe对象吗?某个对象如果还存在引用,就不会被销毁。
整个这个iframe对象已经不存在了,早已经被销毁了,这种动态创建的方式貌似内存增加是无法避免的,很多说法都说还是避免这样使用,所以我就换了第二种方法,那个通过改变src来加载不同页面时,点击一次可以加载出来,再点击一次又加载不出来了,然后再点击又可以加载出来的问题已经解决了,是因为我其他页面上造成的问题,和iframe没有关系,但是内存一直在增加的问题还是没有解决