2015-10-08 57 views
0

我需要从ActionScript 3获取我的SWF的URL才能解析它(不能使用loaderInfo.parameters)。从AS3获取swf URL

我试过使用root.loaderInfo.url,但它返回nullFlexGlobals.topLevelApplication.url将引发错误,因为topLevelApplication不存在。我错过了什么吗?

+1

你试图让'FlexGlobals.topLevelApplication.url'应用程序初始化之后? ex)这不起作用,因为此代码尝试在应用程序初始化事件之前获取。 'public var url:String = FlexGlobals.topLevelApplication.url;' –

回答

2

好吧,明白了。正如Yasuyuki Uno在评论中建议的那样,应该在INIT事件之后调用url属性。

所以我不得不

public function MyClass() 
{ 
    root.loaderInfo.url; // null 
} 

它应该是

import flash.events.Event; 

public function MyClass() 
{ 
    root.loaderInfo.addEventListener(Event.INIT, _onInit); 
} 

private function _onInit(ev:Event) : void 
{ 
    root.loaderInfo.url; // we have the URL now 
}