4/4/11

Pasar parámetros a un Flash desde HTML

Es muy sencillo, veamos el ejemplo:
<object name="miobject" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="700" height="700" id="miobject" align="left">
     <param name="allowScriptAccess" value="sameDomain" />
     <param name="movie" value="tree_700.swf?parametro=' + Vparametro +'"/>
     <param name="menu" value="false" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#c7ccd0" />
     <embed name="miembed" src="tree_700.swf?parametro=' + Vparametro +'" menu="false" quality="high" bgcolor="#c7ccd0" width="700" height="700" align="left" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Es muy parecido por no decir idéntico a como se hace en PHP. Si nos fijamos en objeto embed la propiedad src tiene como valor el nombre del Flash a reproducir.  a continuación el símbolo "?" el nombre del primer parámetro y su valor.

Nota: si se desea pasar un 2º parámetro se ha de separar el valor del 1º con el nombre del segundo con el símbolo "&", al igual que con PHP.

Una vez en la película flash para recuperar su valor se ha de poner en nombre del parámetro antecedido de "_root", es decir:
_root.parametro

Con esto obtendremos el valor que tuviera Vparametro.

NOTA: Tanto el código como el valor de las variables se construyen con javascript y escritas en el HTML con un document.write