我们的页面是用js动态生成的, 用户会在这个页面上一直重复操作.到后面ie内存直线上升,达到好几百兆,直至浏览器崩溃.   试了网上好多解决方法,试了都没什么效果.恳请大家还有什么好的方法或经验不吝赐教.急啊..在线等..

解决方案 »

  1.   

    就是页面上的div table span..这些dom元素 都是通过js脚本动态生成的
    比如, $('#ssp').append('<div></div>');这样
      

  2.   

    删除只是通过jquery的remove方法 将元素清掉而已, 界面上看不到了
    可实际内存中还是存在的;
    代码太多太复杂了, 发了没什么意义.
      

  3.   

    内存没释放么,闭包中引用了$('#ssp')的东西没有释放,数量太多就慢了啊,发代码上来看看
      

  4.   

    你是不是对dom节点不断地绑定事件,然后删除dom。如此循环
      

  5.   

    肯定用了jq之类的框架,建议用普通的函数,我都用js写客户端的,用户一个软件打开一两天也是正常的,可不会出现内存问题。
      

  6.   

    绑定了事件dom,在移除它之前,记得把事件解绑
    如果你的JS对象引用了dom,在移除dom之前,记得把这个引用置成null
    如果dom引用了其它的JS对象,在移除dom之前,记得把这个JS引用设置成null
    数据加载,在用完之后,记得设置为null
    其它N个变量。。记得用完之后,设置为null.....
    其它语言,你的东西可以乱丢,甚至firefox中,你也可以乱丢,但在IE中的JS,不行啊唉这些本该是垃圾回收器做的事,全给程序员来完成。现在体会到IE的烂,烂到什么程度了
    自己去搜些IE内存泄漏的文章吧,看看解决办法
      

  7.   

    其实框架在IE内存的泄漏上,还是做了不少工作的,所以用框架的事件绑定方法,还是明智的
    但仅靠框架来避免IE内存泄漏,还是远远不够的,自己写的代码要很多地方都要注意
    这是一段prototype.js的框架代码,在一定程度上处理了IE内存泄漏
      function destroyCache() {
        for (var id in cache)
          for (var eventName in cache[id])
            cache[id][eventName] = null;
      }
      // Internet Explorer needs to remove event handlers on page unload
      // in order to avoid memory leaks.
      if (window.attachEvent) {
        window.attachEvent("onunload", destroyCache);
      }