Comunicar entre Flash y FBML (Facebook)

Recientemente, y como ya nos tienen acostumbrados, Facebook ha realizado cambios en su API sin previo aviso.

Por ahora uno de los cambios más importantes que he detectado y que ha afectado a alguna de mis APP en Facebook es la comunicación entre Flash y JavaScript, si bien, antes para llamar a funciones definidas dentro de flash bastaba con hacer lo siguiente:

Iniciar e incluir la película flash:

<fb:fbjs-bridge/>
<fb:swf swfsrc='url-al-archivo.swf' width='760' height='500' wmode='opaque' id='movie' flashvars='var1=1&var2=2'/>

Y luego hacer las llamadas a las funciones de flash desde JavaScript de la siguiente forma:
document.getElementById('movie').callSWF('funcionEnFlash', param1, param2);
Pues bien, ahora Facebook ha cambiado y esto se ha de realizar de otra forma, un poquito más compleja, pero efectiva igualmente.
Iniciamos el flash:
<fb:fbjs-bridge />
<div id="swfContainer"></div>
<script>
<!--
var swf = document.createElement('fb:swf');
swf.setId('movie');
swf.setWidth('760');
swf.setHeight('500');
swf.setSWFSrc('url-al-archivo.swf');
swf.setFlashVar('var1=1&var2=2');
document.getElementById('swfContainer').appendChild(swf);
-->
</script>
Y para llamar a las funciones en flash basta con hacer la misma llamada que antes:
document.getElementById('movie').callSWF('funcionEnFlash', param1, param2);
Y con esto ya volvemos a comunicar flash con facebook.

¿Fué interesante? Por qué no dejas un comentario abajo y continúas la conversación.

Comentarios

Me ha parecido muy buena aportación. Lo probaré a ver si funciona.
Gracias!!!

Deja un Comentario

(requerido)

(requerido)