从外部加载一个swf资源(1.swf),该swf中有一个导出类ui.goods.Goods1,加载完成后用getDefinitionByName去取ui.goods.Goods1,老是报异常:ReferenceError: Error #1065: 变量 未定义。
public class Test extends Sprite
{
public function Test()
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var reqUrl:URLRequest = new URLRequest("1.swf");
loader.load(reqUrl);
}
private function completeHandler(e:Event):void
{
try{
var cla:Class = getDefinitionByName("ui.goods.Goods1") as Class;
}catch(e:Error){
trace("getDefinitionByName异常", e.message);
}
}
}
修改成以下代码后正常:
public class Test extends Sprite
{
public function Test()
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var reqUrl:URLRequest = new URLRequest("1.swf");
loader.load(reqUrl, new LoaderContext(true, ApplicationDomain.currentDomain));
}
private function completeHandler(e:Event):void
{
try{
var cla:Class = getDefinitionByName("ui.goods.Goods1") as Class;
}catch(e:Error){
trace("getDefinitionByName异常", e.message);
}
}
}
loader.load(reqUrl, new LoaderContext(true, ApplicationDomain.currentDomain));
把1.swf添加到当前域