0

javascriptを使用して、swfobjectオブジェクトを介していくつかのフラッシュ変数を初期化しようとしています:

var flashvars = {param: "one"};
var params = {};
var attributes = {};
attributes.id = "as3_js";
swfobject.embedSWF("test.swf", "alt", "450", "450", "9.0.0", false, flashvars, params, attributes);

そして、私はFlex 4を試していますが、my_paramはflashvarsから値を取得せず、アラートも発生しません:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initApp()">

public function initApp():void 
{
    var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
    var icon_url:String;
    icon_url = paramObj['param'];
    my_param = icon_url;
    Alert.show(my_param);
}
4

1 に答える 1

1

@skabirが言及したリンクの解決策を見つけることができます。ここで、どこで間違いがあったかを述べてください。LoaderInfo(this.root.loaderInfo) の代わりに FlexGlobals.topLevelApplication を使用できます。

public function initApp():void 
{
    var paramObj:Object = Application(FlexGlobals.topLevelApplication).parameters;
    var my_param:String = paramObj['param'];
    Alert.show(my_param);
}
于 2013-01-25T09:26:03.103 に答える