//添加标签(标签头信息,标签显示地址) function addtab(tabarea,text,url,pos){ var tab; try{ if(tabcount==0){ var tabs = new Ext.TabPanel(tabarea, {//向tabarea区域添加标签 tabPosition : pos,//标签头位置 top or bottom resizeTabs:true, //标签头自动调整大小 monitorResize:true, minTabWidth: 20,//标签头最小为50 preferredTabWidth:120//标签头最大为150 }); tabcomm=tabs;//把标签对象副给标签全局对象 } tabh=Ext.get(tabarea).getHeight();//得到区域的高 tabcount++; var tabFrame = Ext.DomHelper.append(document.body, //创建一个iframe {tag:'iframe', id:text, //动态ID frameBorder:0, //样式 scrolling:'auto', //滚动 src: url, //抵制 name:text, width:'100%', height:"100%" }); tab = tabcomm.addTab(text,text,"",true); //向标签对象中添加新标签(对象名称,头信息,显示内容,可否关闭) tabgetcount=tabcomm.getCount(); tab.activate();//设置当前窗体选中 tabtext=text; tab.on('activate',function(){///得到当前标签头信息 tabtext=tabcomm.getActiveTab().getText(); <!--此处是单独处理,针对一次打开多个标签进行验证,并找其对应数组 if(document.getElementById(tabtext).src=="about:blank"){ for(var i=0;i<tabshortcut.length;i++){ if(tabshortcut[i][0]==tabtext){ document.getElementById(tabtext).src=tabshortcut[i][1]; } } } --> tabActivate(tabtext); }); tab.setTooltip(text);//设置提示信息 tab.on('beforeclose',function(){//关闭标签事件 tabtext=tabcomm.getActiveTab().getText();//得到当前标签头信息 delArray(tabtext); Ext.get(tabtext).remove(); tabgetcount--; }); }catch(exception){} } /** * 在新tabpanel打开页面 */ function addTab(id,name,url,code){ var tab = Ext.getCmp('mainContent').getItem(id); if (!tab) { Ext.getCmp('mainContent').add({ id : id, title : "<span style='float:left;height:21px;'>name+"</span>", closable : true, html : "<iframe id='iframe_" + id + "' scrolling='auto' border='0' frameborder='0' marginwidth='0' marginheight='0' width='100%' height='100%' onload='unPageMask()'></iframe>" }).show(); //由于IE6是无法解析创建iframe前指定的src属性,所以这里在创建iframe之后再指定路径;如果直接在iframe中指定src,在ie6下会出现空白页面 //document.getElementById("iframe_" + id).src= url; window.frames["iframe_" + id].location.href =url; } else { // 如果tab已存在,则刷新并切换至 window.frames["iframe_" + id].location.reload(); tab.show(); } pageMask();
详细解决方案
extjs 增添选项卡
热度:145 发布时间:2012-11-18 10:51:22.0
相关解决方案
- Extjs grid 失去选中行的列数据
- extjs 后台有数据,但是返回到页面为空,jsonStore加载错误,这是咋回事
- S2SH、EXTJS、JSON调整后,EXTJS接收不到Struts2的Action传回的值,无语
- extjs 简单有关问题
- extjs+struts2解决办法
- ExtJs 处理 datetime 有关问题
- 【EXTJS】iframe里嵌套ext.window,怎样使ext.window弹出到iframe外,该怎么解决
- Tomcat + extjs 入门有关问题
- extjs ColumnModel 怎么实现表格中的数据小数点对齐
- Extjs 变量前的一个加号代表什么意思?解决方法
- extjs grid 怎么实现 行选中变色
- ExtJs 提交表单的小疑点
- 自己写的Asp.net Ajax,Jquery,ExtJs 三种Ajax技术框架比较,希望大家提提意见,多谢
- EXTJS grid的getView的refresh步骤报this.grid为空或不是对象
- EXTJS grid的getView的refresh方法报this.grid为空或不是对象解决办法
- Extjs 上拉菜单如何实现拼音输入进行检索
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索
- extjs grid.Panel 局部刷新,该如何处理
- extjs window 弹出框有关问题 怪事
- ExtJs ComboBox 下拉数据较多时,怎么提供模糊搜索
- 英语翻译(extjs 中的Ext.Component)解决方案
- Extjs Ext.data.Store使用有关问题
- ExtJs Combobox绑值有关问题
- EXTJS GridPanel怎么设置多选
- EXTJS 在 IE 中 数据丢失。求解决方法。
- extjs grid 动态设置行单元格可编辑
- EXTJS DateField 效果显示解决方法
- Extjs Menu 实现动态多级菜单
- extjs grid.Panel 局部刷新,该如何处理
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索