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();而是其它變量名。請自行替換一下這里的參數名即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM