2011-03-01 73 views
0

在我的应用程序基本上编码与extjs,我有一个模块用flex 4编码的问题是,flex使第一次加载很长时间,所以我想知道如果我可以预先加载flex用户需要它之前预加载flex应用程序与extjs

这是该主机的Flex应用程序的分机窗口中的代码:

function openPdf(){ 
    var user = Ext.get('userName').getValue(); 
     PlanRs = new Ext.Window({ 
      width:'100%', 
      autoHeight:true, 
      autoScroll:true, 
      html:'<iframe src ="PlanRs/index/bin-debug/index.html?user='+user+'" ></iframe>', 
      bbar:[{ 
       text:'Close', 
       handler:flexAppCloseHandler 
      }] 
     })   
    PlanRs.show(); 
} 

我试图实例化窗口,并使其不可见,直到没有成功的用户的来电!

回答

1

当您创建Ext.Window时,由于ExtJS的惰性渲染机制,它仍然不会呈现。这意味着,只要组件未通过调用show()来呈现,就不会将iframe插入到DOM中。

尝试实例化您的Ext.Window并手动呼叫PlanRs.render(),并且只在openPdf()函数中调用PlanRs.show()

+0

谢谢,这是想法,顺便说一句,有没有一种最好的方法来嵌入Flex应用程序比使用iframe? – cranberies 2011-03-01 16:24:38

+0

我不太了解flex,但我的猜测是它只是一个嵌入flash电影的swf,所以我建议使用[swfobject](http://code.google.com/p/swfobject /)而不是iframe。 – ChrisR 2011-03-01 18:34:38

相关问题