首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE内存泄漏设置超时,重复设置innerHTML

IE内存泄漏设置超时,重复设置innerHTML
EN

Stack Overflow用户
提问于 2011-08-15 16:18:44
回答 1查看 1K关注 0票数 1

我有一个应用程序,它每60秒重新绘制页面的一部分。重绘会导致IE中的主要内存泄漏。

我尝试使用settimeout/setinterval来设置重绘计时器。

我还尝试了很多建议,比如

  • 设置innerHTML = '‘,而不是使用jquery /空。
  • 在重绘
  • 之前删除所有事件处理程序。
  • 在清空父容器之前删除所有子节点。
  • 将outerHTML设置为清除而不是innerHTML

尽管如此,我还是能看到一个很大的内存泄漏。MS的文章似乎表明IE8本身就是泄漏的,我们需要应用一个修补程序:http://support.microsoft.com/kb/975623

但是,我在IE7和火狐中也看到了这个问题。

任何帮助都将不胜感激。

谢谢你,苏钦

EN

回答 1

Stack Overflow用户

发布于 2012-08-02 18:43:27

您提到的所有选项都值得一试,您是否也尝试过先添加DOM元素,然后再设置innerHTML呢?

下面是一个示例http://ecmascript.stchur.com/blogcode/ie_innerhtml_memleak/noleak.html

那家伙的解决方案

代码语言:javascript
复制
   // Add the element to the DOM first, and /then/ set .innerHTML to 
   // prevent memory from leaking.
   document.body.appendChild(elem);
   elem.innerHTML = str;

你是怎么删除所有处理程序的?你用过像克罗克福德的净化解决方案吗?http://javascript.crockford.com/memory/leak.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7067589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档