1

我正在将参数传递给 flex 应用程序,如下所示,但它始终显示为空。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="metaplayer">
                <param name="movie" value="multicastplayer.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffffff" />
                <param name="allowScriptAccess" value="sameDomain" />
                <param name="allowFullScreen" value="true" />
                    <param name="group" value="8155" />
                    <param name="password" value="8155" />
                    <param name="type" value="2" />

                    <param name="streamname" value="8155" />
</object>

从 flex 访问它显示为空的任何一种方式。WriteText 只是我在文本框中显示变量的函数。

writeText(mx.core.Application.application.parameters.group);
                for (var i:String in FlexGlobals.topLevelApplication.parameters) {
                    writeText( i + ":" + FlexGlobals.topLevelApplication.parameters[i] + "\n");
                }
4

1 回答 1

1

对我来说,它适用于这种语法(通过 flasVars" 参数名称传递参数):

<param name="flashVars" value="locale=${language}&localeFallback=en_US" />

然后在我的 flex 中:

 var parameters:Object = Application(FlexGlobals.topLevelApplication).parameters;

 if (parameters.locale) {
     locale = parameters.locale;
 }

您可以在官方网站上找到相关的官方文档:http: //helpx.adobe.com/flash/kb/pass-variables-swfs-flashvars.html

顺便说一句,您可以/应该使用swfObject来生成这段 HTML 代码。它处理正确地将参数传递给 SWF。

HIH

于 2012-12-11T15:25:42.350 回答