JavaScript

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.

Ejecutar código Javascript al pulsar en un botón

En esta ocasión, Alberto me realiza la siguiente consulta:

Pregunta:

Como pasar el siguiente código ActionScript 2 a ActionScript 3:

on (release) {
getURL(
"javascript:hideBL(\'variable\')");
}


Lee el resto de esta entrada »

Llamadas a funciones Javascript desde Actionscript 3

La llamada a funciones Javascript que esten en el HTML de la web que muestra la película Flash, es realmente sencillo, tan sólo debemos de utilizar este código:
Importamos la librería externa que vamos a utilizar:

import flash.external.ExternalInterface;

Y donde querámos utilizar la función Javascript sólo tenemos que hacer lo siguiente:

ExternalInterface.call("funcion_javascript");

De esta forma podemos pasar variables a la función Javascript:

var devolucion:int = ExternalInterface.call("funcion_javascript", "valor");

... y recoger variables devueltas por la función.

PopUP con JavaScript

Respondiendo a una consulta de Josue desde www.televisionlive.tk sobre PopUps
Lee el resto de esta entrada »