gpt4 book ai didi

javascript - 从 IE7 中的 onunload/onbeforeunload 内存中删除 iframe 内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:34:27 28 4
gpt4 key购买 nike

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

每次调用间隔时,我都想从内存中清除 iframe 内容。我尝试了下面的脚本(这个脚本用于 window.onunload - 我也在每个时间间隔尝试了这个)但是两者都不起作用并且在我结束浏览器 session 之前将 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 中的内容?

这些解决方案似乎也不起作用: Iframes and memory management in Javascript jQuery DOMWindow script doesn't release memory

最佳答案

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

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

关于javascript - 从 IE7 中的 onunload/onbeforeunload 内存中删除 iframe 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17813717/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com