Nel caso venga creata un’applicazione web con Flex (o Flash Builder), è possibile che si renda necessario “passargli” dei parametri a runtime. Questo è possibile inserendo una variabile FlashVars nel codice html e poi richiamandola da Flex/Flash Builder.
Partiamo con l’esempio del codice html. Generando un progetto web, viene automaticamente creato il file html con il seguente codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <script type="text/javascript"src="swfobject.js"></script> <script type="text/javascript"> <!--Forversion detection,set tomin.required Flash Player version,or0(or0.0.0),forno version detection.--> varswfVersionStr="10.0.0"; <!--Touseexpress install,set toplayerProductInstall.swf,otherwise the empty string.--> varxiSwfUrlStr="playerProductInstall.swf"; varflashvars={}; flashvars.parametro="ciao"; varparams={}; params.quality="high"; params.bgcolor="#ffffff"; params.allowscriptaccess="sameDomain"; params.allowfullscreen="true"; varattributes={}; attributes.id="VP"; attributes.name="VP"; attributes.align="middle"; swfobject.embedSWF( "VP.swf","flashContent", "100%","100%", swfVersionStr,xiSwfUrlStr, flashvars,params,attributes); <!--JavaScript enabled so display the flashContent div incaseit isnotreplaced withaswf object.--> swfobject.createCSS("#flashContent","display:block;text-align:left;"); </script> |
in questo caso il parametro, chiamato proprio “parametro” è definito con la riga:
1 | flashvars.parametro="ciao"; |
In alternativa, utilizzando il classico object, si avrebbe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"width="100%"height="100%"id="VP"> <param name="movie"value="VP.swf" /> <param name="quality"value="high" /> <param name="bgcolor"value="#ffffff" /> <param name="allowScriptAccess"value="sameDomain" /> <param name="allowFullScreen"value="true" /> <param name="FlashVars"value="parametro=ciao" /> <!--[if !IE]>--> <object type="application/x-shockwave-flash"data="VP.swf"width="100%"height="100%"> <param name="quality"value="high" /> <param name="bgcolor"value="#ffffff" /> <param name="allowScriptAccess"value="sameDomain" /> <param name="allowFullScreen"value="true" /> <param name="FlashVars"value="parametro=ciao" /> <!--<![endif]--> <!--[if gte IE 6]>--> <p> Either scripts and active content are not permitted to run or Adobe Flash Player version 10.0.0 or greater is not installed. </p> <!--<![endif]--> <a href="http://www.adobe.com/go/getflashplayer"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"alt="Get Adobe Flash Player" /> </a> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </noscript> |
dove il parametro è definito nelle righe:
1 | <param name="FlashVars"value="parametro=ciao" /> |
Bene, ora passiamo al codice da inserire in Flex/Flash Builder. Ipotizziamo di avere una casella di testo, chiamata “txt” e di volerci caricare il contenuto di “parametro”, dovremo inserire nell’applicazione il seguente codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?xml version="1.0"encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"minWidth="955"minHeight="600"creationComplete="init()" <fx:Script> <![CDATA[ privatefunctioninit():void{ // inizio recupero da flashvars varobj:Object=this.parameters; txt.text=obj.parametro; // fine recupero da flashvars } ]]> </fx:Script> <s:TextInputx="183"y="65" name="txt"id="txt"/> </s:Application> |
enjoy
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta