先 贴上代码
<script type="text/javascript">
Ext.QuickTips.init();// 浮动信息提示
Ext.BLANK_IMAGE_URL = '/erp/js/ext-3.0.0/resources/images/default/s.gif';// 替换图片文件地址为本地
//顶部工具条
var topView=new Ext.Panel({
title:"",
region:"north",
height:80,
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="/erp/home/navigation.jsp"></iframe>'
})
//左边功能树
var menuTree = new Ext.tree.TreePanel({
region : 'west',
title : '功能菜单',
width : 180,
minSize : 150,
maxSize : 200,
bodyStyle:'background-image:url("/erp/images/bg2.gif")',
frame : true,// 美化界面
enableDD : false,// 是否支持拖拽效果
animate : true, // 动画效果
split : true, //分隔条
border : false, // 边框
autoScroll : true,
autoHeight : false,
collapsible : true,//分割线可移动
rootVisable : false
});
// 异步加载根节点
var rootnode = new Ext.tree.AsyncTreeNode({
id : '1', //设置顶级节点ID
text : 'ERP系统',
draggable : false,// 根节点不容许拖动
expanded : true
});
// 为tree设置根节点
menuTree.setRootNode(rootnode);
//响应加载前事件,传递node参数
menuTree.on('beforeload', function(node) {
menuTree.loader.dataUrl = '/erp/home/treeDate.jsp?parentId=' + node.id; // 定义子节点的Loader
});
// 增加鼠标单击事件
menuTree.on('click', treeClick);
//右边功能面板区
var contentPanel = new Ext.TabPanel({
region:'center',
enableTabScroll:true,
activeTab:0,
items:[{
id:'homePage',
title:'首页',
closable:true, //通过html载入目标页
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="/erp/home/bodyOffice.jsp"></iframe>'
}]
});
Ext.onReady(function(){
new Ext.Viewport({
layout:'border', //使用border布局
defaults:{activeItem:0},
items:[topView,menuTree, contentPanel]
});
});
//设置树的点击事件
function treeClick(node, e) {
var link = node.attributes.href;
targetType = node.attributes.targetwindow;
alert(node.hrefTarget);
if(targetType=="mainFrame"){
alert(targetType);
if (node.isLeaf()) {
e.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
var n = contentPanel.add({
'id':node.id,
'title':node.text,
closable:true, //通过html载入目标页
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+link+' ></iframe>'
});
}
contentPanel.setActiveTab(n);
}
}else{
window.open(link,'_blank');
return;
}
}
</script>在执行function treeClick(node, e) 遇到非targetType!="mainFrame" 弹出新的窗口 为什么执行window。open时候,新窗口是弹出来了,但是当前页面也变成了新窗口的链接,就出现了2 个一样的窗口,怎么让当前页面不变,EXT新手求大家帮帮忙啊 谢谢了
<script type="text/javascript">
Ext.QuickTips.init();// 浮动信息提示
Ext.BLANK_IMAGE_URL = '/erp/js/ext-3.0.0/resources/images/default/s.gif';// 替换图片文件地址为本地
//顶部工具条
var topView=new Ext.Panel({
title:"",
region:"north",
height:80,
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="/erp/home/navigation.jsp"></iframe>'
})
//左边功能树
var menuTree = new Ext.tree.TreePanel({
region : 'west',
title : '功能菜单',
width : 180,
minSize : 150,
maxSize : 200,
bodyStyle:'background-image:url("/erp/images/bg2.gif")',
frame : true,// 美化界面
enableDD : false,// 是否支持拖拽效果
animate : true, // 动画效果
split : true, //分隔条
border : false, // 边框
autoScroll : true,
autoHeight : false,
collapsible : true,//分割线可移动
rootVisable : false
});
// 异步加载根节点
var rootnode = new Ext.tree.AsyncTreeNode({
id : '1', //设置顶级节点ID
text : 'ERP系统',
draggable : false,// 根节点不容许拖动
expanded : true
});
// 为tree设置根节点
menuTree.setRootNode(rootnode);
//响应加载前事件,传递node参数
menuTree.on('beforeload', function(node) {
menuTree.loader.dataUrl = '/erp/home/treeDate.jsp?parentId=' + node.id; // 定义子节点的Loader
});
// 增加鼠标单击事件
menuTree.on('click', treeClick);
//右边功能面板区
var contentPanel = new Ext.TabPanel({
region:'center',
enableTabScroll:true,
activeTab:0,
items:[{
id:'homePage',
title:'首页',
closable:true, //通过html载入目标页
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="/erp/home/bodyOffice.jsp"></iframe>'
}]
});
Ext.onReady(function(){
new Ext.Viewport({
layout:'border', //使用border布局
defaults:{activeItem:0},
items:[topView,menuTree, contentPanel]
});
});
//设置树的点击事件
function treeClick(node, e) {
var link = node.attributes.href;
targetType = node.attributes.targetwindow;
alert(node.hrefTarget);
if(targetType=="mainFrame"){
alert(targetType);
if (node.isLeaf()) {
e.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
var n = contentPanel.add({
'id':node.id,
'title':node.text,
closable:true, //通过html载入目标页
html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+link+' ></iframe>'
});
}
contentPanel.setActiveTab(n);
}
}else{
window.open(link,'_blank');
return;
}
}
</script>在执行function treeClick(node, e) 遇到非targetType!="mainFrame" 弹出新的窗口 为什么执行window。open时候,新窗口是弹出来了,但是当前页面也变成了新窗口的链接,就出现了2 个一样的窗口,怎么让当前页面不变,EXT新手求大家帮帮忙啊 谢谢了
解决方案 »
- 怎么获得手机屏幕大小?
- 用了base标签,如果处理多域名JS错误问题?
- 菜鸟在javascript中遇到的小问题
- document.write为何不起作用?
- 知道rowIndex后怎么知道这个行的INNERHTML?
- 怎么不用uploadify按钮,用js直接调用事件来上传
- js中如何使用xsl和xml实现csdn菜单
- 在javascript中調用java方法﹐怎麼樣將javascript中的變量作為參數傳遞給java方法呢﹖
- 页面搜索是怎么做了?http://www.ylstudy.net/article/article.asp
- Cannot read property 'length' of undefined 问题
- js 禁止修改本窗口大小
- 请问如何取得select值?
'id':node.id,这句中,增加的tab的id和treenode的id是一样的。可以该成
'id':'tab' + node.id,
在试试
改成window.open(link);