我正在开发一个在 iframe 中呈现内容的嵌入式系统。它使用signalR(基于ajax)和jquery。随着时间的流逝,浏览器变得越来越慢,内存使用量越来越高。所以我希望消除所有潜在的内存问题。
当新页面加载到 iframe 中时,我附加了 click 和 focus 事件处理程序。
就在要替换 iframe 页面之前,我取消附加它们。
但是,如果我检查 $.cache(在使用 firefox 的 PC 上进行测试,因此与我的真实系统不完全相同)它仍然显示 $.cache 每次重新加载 iframe 时都会获得越来越多的元素。
这是做事的正确方法吗?还有什么我可以尝试的吗?为什么 $.cache 增长?
(如果您有兴趣,我正在使用带有 Midori 浏览器的树莓派(运行 linux),尽管我可以选择其他(主要是 web-kit)浏览器)。
我用来更改 iframe 内容的 Javascript...
hubProxy.client.loadPage = function (pageFilename, pageType) {
frameNode = $("#myIframe").contents();
$("a", frameNode).off();
$("#myIframe")[0].src = pageFilename;
};