Extjs4 Window 加载URL问题求指教 200分,

人中赤兔马中吕布 2012-02-09 03:33:21
主页面A.aspx:

Ext.create('Ext.container.Viewport', {
layout: 'border',
items: [panel, Grid],
renderTo: Ext.getBody()
});

panel有个按钮,调用window,加载页面B

页面B.aspx(demo,实际上是表单):

Ext.create('Ext.container.Viewport', {
layout: "border",
items: [
{
id: "p_test",
xtype: 'panel',
title: "呵呵呵呵",
html: "<a>1111111111111111111111111111111111</a>"
}
],
renderTo: 'form'
//这里有疑问,如果是form的话,不能完全填充,如果是body的话,跑A页面的body上了
});


调用:

var winObj = Ext.create('Ext.window.Window', {
id: "formWin",
width: 500,
height: 300,
maximizable: true,
modal: true,
loader: {
loadMask: {
showMask: true,
msg: "正在测试… Hold……"
},
renderer: "html ",
scripts: true,
autoLoad: true,
url: "B.aspx"
},
title: "My First Extjs 4 window"
});
winObj.show();


问题:
1,、B.aspx 页面 Viewport 的render问题。renderTo: 'form' 可能造成不能填充的问题,ext.getbody的话会跑到A的body里面

2、貌似以这种方法来调用的话,B页面的html会自动添加到A中,造成两个Viewport,有没有能避免的方法(添加一个iframe就算了,
虽然可行,但是慢,在ext3中就是这样实现的,4中修改了)
3、其他建议,实现类似效果:window加载一个url(表单)

注:以这种方式来实现的话,B页面是不能加载A页面已经加载的ext-all.js的,否则报错,原因瞅第二个问题

一次只能100分,明天再加,求解答,求交流,求指导。。。


...全文
764 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
pg_guo 2014-10-24
  • 打赏
  • 举报
回复
请问loader怎么解决的?
  • 打赏
  • 举报
回复
结贴
最后
loader解决
qq623932737 2012-02-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 leefwu 的回复:]
不会,我做的系统都是这么实现,比较稳定
一般render的话,要在页面上加一个id,然后输出到id上
不要用Ext.getBody()或者document

再试试
[/Quote] 顶个
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pmaikej 的回复:]
建议,A和B两个页面放在一个页面,在使用的时候只不过是一个隐藏一个显示
[/Quote]
A是一个封装的页面,B页面可是一个表单(可能对应到不同表单,参数决定)
不妥,再求
pmaikej 2012-02-10
  • 打赏
  • 举报
回复
建议,A和B两个页面放在一个页面,在使用的时候只不过是一个隐藏一个显示
  • 打赏
  • 举报
回复
救命啊救命啊
leefwu 2012-02-10
  • 打赏
  • 举报
回复
不会,我做的系统都是这么实现,比较稳定
一般render的话,要在页面上加一个id,然后输出到id上
不要用Ext.getBody()或者document

再试试
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 leefwu 的回复:]

我用的是Ext3.2.1版本,和4.0版本有点不一样,仅供参考

问题1
在B页面上加一个div,加上id,B页面ViewPort renderTo到这个id上,这样B页面不会跑到A页面上去了

问题2
同问题1;以后render尽量用页面上的id来实现;

问题3
我有一个还算可以的页面加载方法,还可以吧,要的话联系我QQ389982128
[/Quote]
我这么试过,但是url加载进来后,window会自动添加一个叫window_body的div,
加载的body跑这个body后面去了
如果直接render这个window_body的话,貌似破坏了extjs的对象,也不会按照extjs的规则来渲染
leefwu 2012-02-10
  • 打赏
  • 举报
回复
我自己写的一个页面加载函数,不是用iframe实现
leefwu 2012-02-10
  • 打赏
  • 举报
回复
我用的是Ext3.2.1版本,和4.0版本有点不一样,仅供参考

问题1
在B页面上加一个div,加上id,B页面ViewPort renderTo到这个id上,这样B页面不会跑到A页面上去了

问题2
同问题1;以后render尽量用页面上的id来实现;

问题3
我有一个还算可以的页面加载方法,还可以吧,要的话联系我QQ389982128
foolbirdflyfirst 2012-02-10
  • 打赏
  • 举报
回复
建议你把简单代码弄到jsbin.com或者jscode.com上去,方便大家看到你的代码以及生成效果,然后才好帮你调试。
  • 打赏
  • 举报
回复
人工 救命
CalvinR 2012-02-09
  • 打赏
  • 举报
回复
ExtJS我也刚学 版本是2.2的 还没升级 估计帮不上忙 帮你顶帖了
  • 打赏
  • 举报
回复
人工 救命
接分为押宝 2012-02-09
  • 打赏
  • 举报
回复

坐等大牛。帮顶了!
  • 打赏
  • 举报
回复
人工^

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧