2010-06-30 47 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);