2010-06-30 57 views
1

我想让用户通过设置调用javascript的flashvars变量中的颜色来设置我的flex 4应用程序的背景颜色。将flashvar传递到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

您创建一个flashVars对象。 所以你需要改变你的代码:

trace(FlexGlobals.topLevelApplication.parameters.firstname);