zoukankan      html  css  js  c++  java
  • jQuery EasyUI Tabs关闭Tab时不能完全释放内存解决方法

    EasyUI的Tabs,如果你在Tab中使用了<iframe>显示Tab页面内容,在关闭Tab后,iframe所占用的内存并不能得到释放,直到浏览器关闭。当Tab操作得越多,内存占用就越大,随时都会令浏览器内存溢出,你就不得不希望能通过限制Tab的打开数量来改善这种状况。但要注意,关闭后的Tab并没有释放iframe所占用的内存,只是简单地限制同时打开的Tab数量效果似乎是太理想的。很多人为这个问题而烦恼。下面给出一个更有效地释放Tab所占用内存的解决方法For EasyUI 1.2.5:

    if (你使用的是未经压缩的EasyUI)

    {

    打开jquery.easyui.js,搜索“panel("options").tab.remove();”,在该语句后面插入下面代码,保存即可:

    var frame=$('iframe', tab);if(frame.length>0){frame[0].contentWindow.document.write('');frame[0].contentWindow.close();frame.remove();if($.browser.msie){CollectGarbage();}}

    }

    else

    {

    打开jquery.easyui.min.js,搜索“panel("options").tab.remove();”,在该语句后面插入下面代码,保存即可:

    var frame=$('iframe', i);if(frame.length>0){frame[0].contentWindow.document.write('');frame[0].contentWindow.close();frame.remove();if($.browser.msie){CollectGarbage();}}

    }

    ---------------------------------------------

    注意:

    1、本解决方法,仅针对EasyUI 1.2.5!!

    2、有一个地方可能你需要自行修改。举例:
    var frame=$('iframe', i);
    该句中的第二个参数i,跟搜索到的panel("options").tab.remove();前面的对象变量同名,有可能你压缩的文档在压缩后,不是i.panel("options").tab.remove();而是其它变量名。请自行替换一下这里的参数名即可。

  • 相关阅读:
    C#可空类型 T?
    Unity踩过的坑
    Unity可视化数据:创建图表
    unity3d屏幕截图功能
    unity3d插入android有米广告
    Unity调用PC摄像头
    使用Unity的50个建议
    Unity3d流光效果
    unity3d中的Quaternion.LookRotation
    Unity3D中可重载虚函数的总结
  • 原文地址:https://www.cnblogs.com/wintalen/p/2319604.html
Copyright © 2011-2022 走看看