将flashvar传递给flex 4

时间:2010-06-30 13:24:37

标签: adobe mxml flex4 flashvars

我试图让用户通过设置调用javascript的flashvars变量中的颜色来设置我的flex 4应用程序的背景颜色。

但是,我似乎根本无法访问flashvars,我能得到的最好结果(来自跟踪) undefined

javascript看起来像:

<script type="text/javascript">
    var flashvars = {}; 
    flashvars.firstname = "bob";
    var params = {
        menu: "false",
        scale: "noScale",
        allowFullscreen: "true",
        allowScriptAccess: "always",
        bgcolor: "#FF0000"
    };
    var attributes = {
        id:"OvaWidget"
    };
    swfobject.embedSWF("myApp.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

我的mxml是

<fx:Script> 
    <![CDATA[
    import mx.core.FlexGlobals;

    [Bindable]
    public var firstname:String;

    protected function init():void
    {
        trace(FlexGlobals.topLevelApplication.parameters[firstname]);
    }
    ]]> 
</fx:Script>

<s:Label text="Name: "/>
<s:Label text="{firstname}" fontWeight="bold"/>

有什么想法吗?所有帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

您创建一个flashVars对象。 因此,您需要将代码更改为:

trace(FlexGlobals.topLevelApplication.parameters.firstname);