我正在尝试在我的flex应用程序中显示远程swf,我能够加载swf,但它在我的flex应用程序中没有显示(可见)。
这是代码
private function onLoaderComplete(event:Event):void{
can.addChild(l);
}
import flash.system.SecurityDomain;
import flash.system.ApplicationDomain;
var l:Loader = new Loader();
private function initApp():void {
var context:LoaderContext = new LoaderContext();
l.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
if(Security.sandboxType == Security.REMOTE){
var context:LoaderContext = new LoaderContext();
context.securityDomain = SecurityDomain.currentDomain;
l.load(new URLRequest('www.somedomain.com/load.swf?id1'), context);
}else{
l.load(new URLRequest('www.somedomain.com/load.swf?id=1'));
}
private function onLoaderComplete(event:Event):void{
can.addChild(l);
}
<mx:Canvas width="100%" height="50%" backgroundColor="red">
<mx:UIComponent id="can" width="100%" height="100%" >
</mx:UIComponent>
</mx:Canvas>
任何想法
全部谢谢
答案 0 :(得分:0)
您的代码段未定义“L”是什么
您使用当前代码时遇到的最可能的问题是,您将'l'添加到UIComponent上,该UIComponent没有用于调整和定位其子项的内置代码,因此您的'l'将没有高度和宽度,有效地使它看不见。
我会使用SWFLoader加载另一个SWF文件并将其显示为应用程序的一部分。