`

请问Ext的Ext.TabPanel支持iframe吗

阅读更多
  我原来使用 dhtmlxTabbar,这个控件对Tab页的支持真是一流的棒,几乎所有的需要都可以得到满足,比较你可以让一个Tab页对应一个iframe,这样Tab页中内容的提交就可以不影响其它Tab页了。
  下面是dhtmlxTabbar控制使用 iframe模式的代码:
        
         //创建一个tabbar
         tabbar=new dhtmlXTabBar("content","top");
        tabbar.setImagePath("/imgs/");
        tabbar.setStyle("modern");
        tabbar.setHrefMode("iframes");//每一个Tab页对应一个新的iframe

        //添加一个Tab页
         vat tabId = "1",tabName="tab1";
        tabbar.addTab(tabId,tabName,"100px",0);
        _targetUrl = "http://www.baobaotao.com";
        tabbar.setContentHref(tabId,_targetUrl);

   我试了Ext的Tab控件,目前我还没有发现可以一个Tab页对应一个iframe的,不知道是否可以支持一个
Tab页一个iframe。请有知道的朋友赐教,谢谢。
分享到:
评论
4 楼 xugq035 2007-08-12  
tab还是用ajax好点
3 楼 sp42 2007-08-12  
不是Ext.TabPanel
而是Ext.TabPanelItem

setUrl
引用
public function setUrl( String/Function url, [String/Object params], [Boolean loadOnce] )
Set a URL to be used to load the content for this TabPanelItem.
2 楼 stamen 2007-08-12  
   TabContent也可以用iframe了,呵呵,是这样的:
 
var tabs = new Ext.TabPanel('content');  
  var tabFrame =  Ext.DomHelper.append(document.body,
               {tag: 'iframe',id:'frame1',
                frameBorder: 0,scrolling:'no', 
                src: targetUrl,name:'Frame_2',
                style:'width:600px,height:400px'}); 
   var tab = tabs.addTab('frame1','标签名','',true);

  不过我觉得非常慢,我还是决定使用dhtmlxTabbar。
1 楼 stamen 2007-08-11  
  我现在使用BorderLayout和BasicLayoutRegion以及ContentPanel共同完成了支持iframe Tab页,
没有使用Tab控件。我们知道EXT的Layout的每一个区都可以放置多个ContentPanel,当放置多个ContentPanel,相应的区域会自动出现Tab页。只要在ContentPanel中放置一个iframe就可以了。我写了一个方法用于向center域添加Tab页,每个Tab页对应一个iframe:
        var openedTabMap = new col.JSMap();
        function openUrlInTabbar(tabId,tabName,targetUrl){
             var region = layout.getRegion('center',contentPanel);
             if(!openedTabMap.containsKey(tabId)){
                 var tabFrame = Ext.DomHelper.append( document.body,{tag: 'iframe',  frameBorder: 0, src: targetUrl,name:'Frame_'+tabId,style:'width:100%,height:100%'});
                 var contentPanel = new Ext.ContentPanel(tabFrame, {title:tabName,fitToFrame:true, closable: true});     
                 region.add(contentPanel);

                 openedTabMap.put(tabId,contentPanel);
             }else{
                 region.showPanel(openedTabMap.get(tabId));
             }
            
        }

    现在有一个问题是,这个Tab页标签出现在区域的底部,而不是顶部,不知道能否通过参数设置,改变Tab页标签的位置。有相关经验的朋友,请说出您的经验,谢谢。
  
  
 

相关推荐

    extjs4.2.1 tabPanel刷新及关闭标签

    ### ExtJS 4.2.1 TabPanel 刷新与关闭标签功能详解 #### TabPanel 组件简介 在ExtJS框架中,`TabPanel`组件是一个非常实用且强大的UI控件,它允许用户在一个界面上组织多个相关的视图或面板,并通过标签页的形式...

    jQuery模仿ExtJS之TabPanel最新

    TabPanel(选项卡组件) 参数说明 renderTo| jQuery object | NULL> 渲染到某容器 将选项卡组件渲染到某容器,参数类型可以为字符串,也可以为jQuery所加载的对象,如果为声明该参数,组件默认的承载容器为BODY。 ...

    ExtJs部署及使用方法

    var mainPanel = new Ext.TabPanel({ id: "main", title: "", region: "center", // 布局区域为center deferredRender: false, enableTabScroll: true, // 允许滚动显示tab activeTab: 0, autoDestroy: false...

    Ext制作的教务管理系统[源码+数据库+说明]

    4.单击节点访问页面时,在主界面TabPanel新增一个Panel,Panel下放置一个iframe,将要链 接的页面放入iframe中。 5.grid数据加载,分页,编辑删除。 6.用户列表页面点编辑时,在父页面的TabPanel中增加一个标签,下...

    JAVA编程规范

    `parent.Ext` 和 `top.Ext` 分别代表了 iframe 外部的 Ext 库实例,通过它们可以访问到外部环境中的 Ext 组件。 3. **函数定义** ```javascript function() { // 函数体 } ``` 在 JavaScript 中,所有的...

    ExtJs使用IFrame的实现代码

    具体来看,代码首先定义了一个名为var p_center的Ext.TabPanel对象,这个对象被配置为在中心区域内显示,并具有调整大小、最小宽度、默认宽度、高度、自动滚动等属性。接着在items数组中,开发者添加了一个具有xtype...

    Extjs中TabPane如何嵌套在其他网页中实现思路及代码

    var tabPanel = new Ext.TabPanel({ activeTab: 0, // 激活第一个Tab region: 'center', // 将TabPanel放置在中央区域 layoutOnTabChange: false, // 是否在切换Tab时重新布局 deferredRender: true, // 延迟...

    1000多个jquery常用插件.pdf

    ##### (5) 模仿ext的tab选项卡 **TabPanel(选项卡组件)参数说明** - **renderTo**:将选项卡组件渲染到某容器,参数类型可以为字符串或jQuery对象,默认为BODY。 - **items**:选项卡组件渲染后就会显示的选项卡...

Global site tag (gtag.js) - Google Analytics