论坛首页 AJAX版 EXT

如何执行Ext.Panel 的 autoLoad 所加载的页面中的Js???

浏览 4710 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-11-27
js 代码
  1. tab = new Ext.Panel( {   
  2.                 id : node.id,   
  3.                 title : node.text,   
  4.                 tabTip : node.id,   
  5.                 closable : true,   
  6.                 autoScroll : true,   
  7.                 border : true,             
  8.                    
  9.                 autoLoad :{ url: '123.jsp'}   
  10.             });   
  11.             tabPanel.add(tab);  
  12.             tabPanel.setActiveTab(tab);

 

也就是在TabPanel中动态增加Panel,怎样使得Panel的参数autoload所指定加载的页面的js得到执行???

 

问题已经解决!方法如下(Ext官方论坛):http://extjs.com/forum/showthread.php?t=18144&highlight=IFrameComponent

 

以上代码增加一个Panel到TabPanel中,该Panel加载页面123.jsp ,但是123.jsp中的js并没有执行,怎样才能使到123.jsp的Js得到执行??
   
最后更新时间:2007-11-27
http://www.javaeye.com/post/412612
   
0 请登录后投票
最后更新时间:2007-12-01
找下这段代码var autoLoad = {url: href};
改成var autoLoad = {url: href, scripts: true};
   
0 请登录后投票
最后更新时间:2007-12-06
你那种方法还不如把iframe放在html:....中
但是你在傲游下就无法自动加载iframe中的页面要右键刷新
在IE7,ff下可以
   
0 请登录后投票
最后更新时间:2007-12-10
楼主这个问题我也想问,但你给的EXT官方论坛的答案我看不懂,能否把你改正后的代码也贴出来,谢谢!
因为我的情况跟你的稍有不同,下面我把我代码的也贴出来了,请各位指点一哈~ :D
js 代码
  1. Ext.onReady(function(){   
  2.  Ext.state.Manager.setProvider(new Ext.state.CookieProvider());   
  3.  var Myheader = new Ext.Panel({   
  4.   region:'north',   
  5.   border:false,   
  6.   contentEl:'myheader',   
  7.   layout:'fit',   
  8.   height:33   
  9.  });   
  10.  var Mycenter = new Ext.TabPanel({   
  11.   region:'center',   
  12.   border:false,   
  13.   deferredRender:false,   
  14.   activeTab:0,   
  15.   items:[ {   
  16.    contentEl:'content0',   
  17.    listeners:{activate:function(tab){tab.getUpdater().update('content_00.html')}},   
  18.     //用到了listeners是因为我希望每次点击Tab时,它能重新载入,刷新一次   
  19.    title:'首页',   
  20.   // autoLoad:{url:'content_00.html', scripts:true},   
  21.    autoScroll:true  
  22.   }, {   
  23.    contentEl:'content1',   
  24.    listeners:{activate:function(tab){tab.getUpdater().update('content_01.html')}},   
  25.    title:'收发费标准管理',   
  26.    autoScroll:true  
  27.   }, {   
  28.    contentEl:'content2',   
  29.    listeners:{activate:function(tab){tab.getUpdater().update('content_02.html')}},   
  30.    title:'应收发管理',   
  31.    autoScroll:true  
  32.   }, {   
  33.    contentEl:'content3',   
  34.    listeners:{activate:function(tab){tab.getUpdater().update('content_03.html')}},   
  35.    title:'实收发管理',   
  36.    autoScroll:true  
  37.   }, {   
  38.    contentEl:'content4',   
  39.    listeners:{activate:function(tab){tab.getUpdater().update('content_04.html')}},   
  40.    title:'业务处理',   
  41.    autoScroll:true  
  42.   }, {   
  43.    contentEl:'content5',   
  44.    listeners:{activate:function(tab){tab.getUpdater().update('content_05.html')}},   
  45.    title:'查询统计',   
  46.    autoScroll:true  
  47.   }, {   
  48.    contentEl:'content6',   
  49.    listeners:{activate:function(tab){tab.getUpdater().update('content_06.html')}},   
  50.    title:'系统管理',   
  51.    autoScroll:true  
  52.   } ]   
  53.  });   
  54.  var Myviewport = new Ext.Viewport({   
  55.   layout:'border',   
  56.   items:[ Myheader, Mycenter ]   
  57.  });   
  58. });  

 

而且我用其他TX的方法:autoLoad:{url:'content_00.html', scripts:true}也不行,请各位指教!

如上,我没有用autoLoad,而用到了listeners是因为我希望每次点击Tab时,它能重新载入,刷新一次,我不知道在这种情况下,如何使加载页面中的JS执行?!
   
0 请登录后投票
最后更新时间:2008-04-01
晕~
autoLoad有个属性叫 scripts,将scripts设为true就行啦
   
0 请登录后投票
最后更新时间:2008-04-01
看看我的这篇文章,http://jfp.javaeye.com/blog/177715
其中提到的第二种方法就是通过autoLoad载入的,而且我测试的时候正常执行了载入文件中的JS代码,不知道有没有帮助。
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐