我有3个页面a.htm , b.htm和c.htm
以下是a.htm的代码Ext.onReady(function(){new Ext.tabPanel({id:'xxx',
title:'xxx',
.
.
. //一堆东西就省略了.items:[{
  html:'<iframe src='b.htm'></iframe>'
}]})})function addTab(){//这个方法用来添加一个tab}
然后 b.htm的代码就是显示一个gridPanel 啦..  详细代码我就不写了. 在这个gridPanel里面 有一个操作栏.. 里面有个连接打开 c.htm  我的问题是..  怎样才能, 当我点击这个连接时..tabpanel 会新建一个tab 来load这个c.htm呢?? 

解决方案 »

  1.   

    为什么要用iframe??用了ExtJS的话,直接在<iframe src='b.htm'></iframe>这个地方用一个panel设置autoLoad: {url: "b.htm", scripts: true,  nocache: true}代替不就行了???这样操作还方便,函数不必跨窗口调用如果硬要用iframe,可以在b.htm中用parent.addTab来添加
      

  2.   

    http://www.extjs.com/deploy/dev/examples/feed-viewer/view.html
    在这去看下这例子吧,下载源码看下,在页面右边有个按钮 View in New Tab,
    examples\ff\下,这按钮在MainPanel.js中
      

  3.   


    我用过autoLoad 不过..整个界面都乱了.. 不懂为什么..  
      

  4.   


    //给iframe设置id
    items:[{
      html:'<iframe id='iframe_c' src='b.htm'></iframe>'
    }]
    function addTab(){//这个方法用来添加一个tab
        //tab增加后,根据id设置iframe的src
        Ext.getDom('iframe_c').src = 'c.htm'
    }
    autoload页面后,如果页面变乱,一般情况都是有id冲突造成的,即两个页面的控件有相同的id。