使用jQuery UI选项卡时的内存泄漏(版本1.8.9)
我在使用jQuery 1.8.9 UI选项卡时遇到了内存泄漏问题,并且对于可能导致它的原因感到有点困惑。 这个问题似乎只出现在IE中。 我正在使用IE8,(尚未在7或6上测试过)。 Firefox和Chrome都可以。
选项卡初始化如下:
$("#tabContent").tabs({ cache: false, ajaxOptions: { cache: false} }); $("#tabContent").bind('tabsselect', tabSelected); $("#tabContent").bind('tabsload', tabLoaded); $("#tabContent").tabs("url", 0, "SomePage.aspx?id=1" + "&project=" + projectName); $("#tabContent").tabs("url", 1, "SomePage.aspx?id=2" + "&project=" + projectName); $("#tabContent").tabs("url", 2, "SomePage.aspx?id=3" + "&project=" + projectName); $("#tabContent").tabs("url", 3, "SomePage.aspx?id=4" + "&project=" + projectName);
页面’SomePage’有一个列表,其中包含状态列,我需要检查更新。 我每5000毫秒轮询一次(使用此超时插件 ):
$.doTimeout('tabDisplay', 5000, function() { $("#tabContent").tabs("load", $("#tabContent").tabs('option', 'selected')); return true; });
当然,每5秒内存使用量就会增加(与该选项卡上列表的大小成正比)。
有关可能导致此问题的任何建议吗?
我无法真正帮助解决这个问题,但我可以告诉你,我在同样的问题上遇到了很多困难。另一天,其他人在使用IE8和jQuery时遇到了另一个问题。 我不认为它与jQuery UI有关,但我认为与jQuery和IE8有更多关系:
http://spin.atomicobject.com/2010/10/08/jquery-ajax-memory-leak-in-ie8#fn0
http://bugs.jquery.com/ticket/6242
我发现很多人都在为同样的问题而奋斗但没有真正的解决方案。
PS:在所有这些情况下都有投票。 看来jQuery没有处理资源。 我指的是jQuery 1.4.x