博客新地址

http://wyz.67ge.com/

ExtJs中tabPanel放置iframe无法兼容IE6的解决方法

在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即可,但本人愚昧,但是还有很多问题,

总之方法是找到了,待续。。。

posted @ 2008-08-22 11:26  yongzhi  阅读(6726)  评论(8编辑  收藏  举报

博客新地址

http://wyz.67ge.com/