2015-10-08 54 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 
}