//添加标签(标签头信息,标签显示地址)
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加载错误,这是咋回事
- 【EXTJS】iframe里嵌套ext.window,怎样使ext.window弹出到iframe外,该怎么解决
- Tomcat + extjs 入门有关问题
- extjs ColumnModel 怎么实现表格中的数据小数点对齐
- Extjs 变量前的一个加号代表什么意思?解决方法
- extjs grid 怎么实现 行选中变色
- EXTJS grid的getView的refresh步骤报this.grid为空或不是对象
- EXTJS grid的getView的refresh方法报this.grid为空或不是对象解决办法
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索
- extjs window 弹出框有关问题 怪事
- ExtJs ComboBox 下拉数据较多时,怎么提供模糊搜索
- EXTJS GridPanel怎么设置多选
- EXTJS 在 IE 中 数据丢失。求解决方法。
- extjs grid 动态设置行单元格可编辑
- EXTJS DateField 效果显示解决方法
- Extjs Menu 实现动态多级菜单
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索
- Extjs TreeStore 的施用
- Extjs TreeStore 的应用
- 会用jquery,dwr,再有没有必要学习dojo,extjs
- extjs+php ,大家来看看是小弟我的json输出的有关问题,还是小弟我的extjs没有写对呢
- extjs grid表的显示有关问题
- extJS 在IE8里边什么都不显示
- EXTJS 显示图片有关问题 来个大神指教下 多谢
- Extjs 前后台数据交互有关问题
- ExtJS 怎么嵌入百度mapAPI
- EXTJS 页面得不到JSON值解决方案
- ExtJS 4 window.Window窗体怎么调用用构造方法传递过来的值
- Extjs textfield 只读的景况