当前位置: 代码迷 >> JavaScript >> Extjs4 Window 加载URL有关问题求指教 200分
  详细解决方案

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

热度:917   发布时间:2012-03-20 14:01:11.0
Extjs4 Window 加载URL问题求指教 200分,
主页面A.aspx: 
JScript code

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


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

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

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



调用:
 
JScript code

     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分,明天再加,求解答,求交流,求指导。。。




------解决方案--------------------

坐等大牛。帮顶了!
------解决方案--------------------
ExtJS我也刚学 版本是2.2的 还没升级 估计帮不上忙 帮你顶帖了
------解决方案--------------------
建议,A和B两个页面放在一个页面,在使用的时候只不过是一个隐藏一个显示
------解决方案--------------------
建议你把简单代码弄到jsbin.com或者jscode.com上去,方便大家看到你的代码以及生成效果,然后才好帮你调试。
------解决方案--------------------
我用的是Ext3.2.1版本,和4.0版本有点不一样,仅供参考

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

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

问题3
我有一个还算可以的页面加载方法,还可以吧,要的话联系我QQ389982128

------解决方案--------------------
我自己写的一个页面加载函数,不是用iframe实现
------解决方案--------------------
探讨
不会,我做的系统都是这么实现,比较稳定
一般render的话,要在页面上加一个id,然后输出到id上
不要用Ext.getBody()或者document

再试试
  相关解决方案