在tabPanel中放置iframe打开一个页面是extjs的最简便的用法,这样iframe.src中的页面就可以包含<script src=name.js></script>了。但不知道是不是普遍问题,这种方法不适用IE6,即便在装有IE7的遨游上也无法使用,打开的标签页是个空白的,要通过右键单独刷新这个tabPanel中的iframe才可显示出src中的页面。下面的方法,解决了这一问题,适用IE6、IE7、FF等。不知道我的遇到的问题是不是共性的,请大家指正,或提出更好的方法。
function addTab(url,id){
var tmptab = tabPanel.getItem(id);
if(tmptab)tabPanel.remove(tmptab,true);
tabPanel.add({
id: id,
title: id,
//IE6是无法解析 创建iframe前 指定的src属性 的
//html: '<iframe src="'+ url +'" name="ifr" id="ifr" ',
html:'<iframe src="" name="ifr" id="ifr" width="100%" marginwidth="0" height="100%" marginheight="0" scrolling="auto" frameborder="0"></iframe>'
}).show();
//必须要show()完之后,而且不可以用Ext.get("ifr").src = url;
ifr.location.href = url;
}
根据 holygrace 的提示,发现该方法有严重的吃内存问题,因为tabPanel.remove不会释放iframe
google了一下,extjs的核心开发人员说是可以解决的,只要将iframe的src设置成false即可,但本人愚昧,但是还有很多问题,
总之方法是找到了,待续。。。