我用viewport来做系统,在页面里,左边是树treepanel,右边是一个panel.当点击左边的时候,右边改变。见附件。
代码太多,贴主要的如下:[code="java"]var MainPanel = new Ext.Panel(
{ region :'center',
title:'详细信息',
id:'MainPanel',
autoScroll :true,
margins :'0 4 0 0',
contentEl:'mainFrame',
split :true,
border: true
});[/code]
这个是右边的panel的定义。contentEl:'mainFrame',我在jsp页面指定了一个frame ,id='mainFrame'. 以下是树的定义。
[code="java"]var tree=new Ext.tree.TreePanel({
root:root,
width:250 ,
animate :true,
useArrows :true,
autoHeight :true,
autoScroll :true,
border :false
}); //生成一棵树
tree.setRootNode(root);
tree.on('click', treeClick);
function treeClick(node,e){
if(node.isLeaf()){
e.stopEvent();
[color=red]document.getElementById("mainFrame").src=node.attributes.url;[/color]
}
}[/code]
当我点击树的叶子节点的时候 document.getElementById("mainFrame").src=node.attributes.url;我动态改变mainFrame的src,将其定向到一个新的jsp.但是问题是,这个jsp页面必须引入ExtJs的几个核心js包,才可以用Ext的js,而我在viewport定义的页面里已经引入了Extjs的核心js,重复引用,内存会重复加载,所以很不爽,如果每一个页面都要引入相同的 Ext的核心js的话,那用户态痛苦了,我想请问高手有什么办法达到同样的效果,而不用引入Extjs的js,内存里不再重新加载。赐教!
[b]问题补充:[/b]
我用div,怎么搞定
[b]问题补充:[/b]
To peteraml1,提供了思路,我试一下,现在在调试其他的,不错!!
[b]问题补充:[/b]
To peteraml1,但是有个问题是,你这样下一个conPanel 的代码放到那里呢?总不能和那个MainPanel的代码放到一起了。
[b]问题补充:[/b]
我主要是左边的页面也不一定全部用Ext的东西,所以算了,先用着,我们是内部网,所以速度不会太慢。
[b]问题补充:[/b]
出问题了,出大问题了,我按照peteraml1的方法写,但是是这样的(参考别人的)。
[code="java"]
n=MainPanel.getComponent(node.id);
var MainPanel=Ext.getCmp("MainPanel");
var n=Ext.getCmp(node.id);
if(!n){ n =MainPanel.add({ id:node.id, title:node.text, closable:true, autoLoad:{ url:node.attributes.href, scripts:true }
}); } MainPanel.setActiveTab(n);
[/code]
但是总出错,出错在MainPanel.add({}),说啥Ext.fyl(..)为空或不是对象,不知道什么原因.
是我在另外一个demo里是可行的。help!