Javascript 在IE7中从onLoad/onbeforeunload内存中删除iframe内容

Javascript 在IE7中从onLoad/onbeforeunload内存中删除iframe内容,javascript,memory,iframe,memory-leaks,Javascript,Memory,Iframe,Memory Leaks,我有一个iframe,它通过ajax加载到我的页面中。在每个间隔上,新的iframe都会覆盖旧的iframe。由于某些原因,iframe内容保留在IE7的内存中。我确信这是iframe内容,因为当我将一个小站点加载到iframe中时,内存大小会缓慢增加。当我将一个大型站点加载到框架中时,每次刷新都会加快速度 每次调用间隔时,我都希望清除内存中的iframe内容。我尝试了下面的脚本(这一个是针对window.onunload的-我也每隔一段时间尝试一次),但这两个脚本都不起作用,并且在我结束浏览器

我有一个iframe,它通过ajax加载到我的页面中。在每个间隔上,新的iframe都会覆盖旧的iframe。由于某些原因,iframe内容保留在IE7的内存中。我确信这是iframe内容,因为当我将一个小站点加载到iframe中时,内存大小会缓慢增加。当我将一个大型站点加载到框架中时,每次刷新都会加快速度

每次调用间隔时,我都希望清除内存中的iframe内容。我尝试了下面的脚本(这一个是针对window.onunload的-我也每隔一段时间尝试一次),但这两个脚本都不起作用,并且在我结束浏览器会话之前将iframe内容保留在内存中

// Remove iframecontents
window.onunload = function() {
    $('iframe').each(function(i, frame) {
        frameDoc = frame.contentDocument || frame.contentWindow.document;
        frameDoc.removeChild(frameDoc.documentElement);
    });
}

// Remove iframe with jQuery
window.onunload = function() {
    $('iframe').each(function(i, frame) {
        $(frame).remove();
    });
}
是否有任何方法可以在不重新启动浏览器的情况下从内存中删除iframe中的内容

这些解决方案似乎也不起作用:

从Windows 7开始,我对IE的体验一直是,你不能明确地强制它进行垃圾收集。它与Windows动态内存管理一起工作。如果您的系统整体内存不足,IE将开始更频繁地释放内存。如果您有大量可用内存,它将一直保持,直到您终止进程


然而,每个页面(或iframe)确实会占用一定数量的内存,IE往往只有在您导航离开时才会卸载一大块内存。这对于SPA应用程序(单页应用程序)来说是一个糟糕的情况。这使得明智地编码以保持低内存使用率变得更加重要

奇怪的是,那周晚些时候,我终于用下面的代码为IE7解决了这个问题:
code
window.onunload=function(){$('iframe').remove();}
code