使用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毫秒轮询一次(使用this timeout plugin):
$.doTimeout('tabDisplay', 5000, function() {
$("#tabContent").tabs("load", $("#tabContent").tabs('option', 'selected'));
return true;
});
可以肯定的是,内存使用量每5秒就会增加一次(与该选项卡上列表的大小成正比)。
有关可能导致此问题的任何建议吗?
答案 0 :(得分:1)
我无法真正帮助解决这个问题,但我可以告诉你,我为同一个issues做了很多努力 有一天,其他人在IE8 and 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