Como pasar parametros a Flex por URL
Cómo pasar parámetros y recuperarlos en Flex.
Podemos pasarle y recoger parámetros a nuestro SWF generado con Flex de la siguiente manera:
En la página html que genera Flex cuando compilamos nuestra Aplicación, nos encontramos con código en JavaScript y también con un objeto que embebe nuestro SWF. En nuestro ejemplo se llamarágraficas.swf
Supongamos que queremos abrir la página que contiene nuestra aplicación de gráficas creadas en Flex, y cuyos valores los recogerá de un HttpService, que envía y recoge el Usuario y la Contraseña a una página en ASP, y ésta nos devuelve el resultado en XML.
Sería algo así:
<object classid=”clsid:D27CDB6E-11cf”
id=”graficas”
width=”100%” height=”100%”
codebase=”macromedia.com/get/flashplayer/current/swfla…
param name=”movie”
value=”graficas.swf?usuario=Antonio&pass=12345” />
<param name=”quality” value=”high” />
<param name=”bgcolor” value=”#869ca7″ />
<param name=”allowScriptAccess” value=”sameDomain” />
<embed src=”graficas.swf?usuario=Antonio&pass=12345”
quality=”high” bgcolor=”#869ca7″ width=”100%” height=”100%”
name=”graficas” align=”middle” play=”true” loop=”false”
quality=”high” allowScriptAccess=”sameDomain”
type=”application/x-shockwave-flash”
pluginspage=”adobe.com/go/getflashplayer%22%3E…
</embed></object>
Para pasarlo mediante el código en JavaScript, haríamos lo siguiente:
AC_FL_RunContent( “src”, “graficas?usuario=Antonio&pass=12345“,
“width”, “100%”, “height”, “100%”, “align”,
“middle”, “id”, “graficas”, “quality”, “high”,
“bgcolor”, “#869ca7″, “name”, “graficas”,
“flashvars”,’historyUrl=history.htm%3F&lconid=’ + lc_id + ”,
“flashvars”,’usuario=Antonio&pass=12345′,
“allowScriptAccess”,”sameDomain”, “type”,
“application/x-shockwave-flash”, “pluginspage”,
);
En el código en JS podemos pasarle los parámetros concatenados al nombre del swf o bien ponerlos como un flashvars. De cualquiera de las dos maneras funciona.
y Podemos recuperarlos desde Flex de la siguiente manera:
private var Usuario:String=”";
private var Pass:String=”";
private function ini():void{
Usuario=Application.application.parameters.usuario;
Pass=Application.application.parameters.pass;
}