1

我试图让用户通过在调用 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"/>

有任何想法吗?所有帮助表示赞赏!

4

1 回答 1

1

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

trace(FlexGlobals.topLevelApplication.parameters.firstname);
于 2010-07-09T10:57:51.853 回答