相关疑难解决方法(0)

是否可以在IE中使用iframe而不会出现内存泄漏?

所有版本的IE(包括10个)似乎都会保留iframe分配的大量内存,直到发生window.top.unload.这为长寿命页面带来了相当大的挑战,这些页面可能在其整个生命周期中创建许多iframe.可以在此处找到问题的简化示例:

http://pastebin.com/FmZ7iMHB

该示例使用iframe的Wikipedia页面来放大问题,但即使是包含单个图像的简单页面也会泄漏.

简而言之,在IE中销毁iframe之后,在下一次页面触发垃圾收集时会得到一些但不是全部内存(通常iframe使用的内存大约有25%会陷入困境).刷新或导航到新页面(window.top.unload)将释放大部分或全部剩余内存.

sIEve和Microsoft的JS Memory Leak Detector等工具中无法检测到这种特殊泄漏.我已经阅读了IE中关于漏洞iframe的所有内容,但是我遇到过的解决方案没有运气.

有没有人知道这个问题的解决方案或解决方法?我唯一的缓解策略是在父页面销毁之前尽可能多地从iframe中进行清理,但是当你不控制被框架的页面时,这没有任何帮助.

iframe internet-explorer memory-leaks

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

iframe ×1

internet-explorer ×1

memory-leaks ×1