Posteado por: spideep | 13 agosto 2007

flash.external.ExternalInterface

Es una clase que proporciona una comunicación mejorada entre ActionScript y el recipiente del Flash Player, por ejemplo una página HTML con JavaScript, o una aplicación de escritorio con el Flash Player incluido.

Su uso más recomendado es el de llamar a una función JavaScript dentro del HTML y recibir los valores que ésta devuelve, todo esto desde ActionScript.

Del mismo modo desde JavaScript en HTML podemos llamar a una función ActionScript, si esta función retorna un valor, éste retornará al JavaScript.

ExternalInterface es similar en funcionalidad a los métodos fscommand(), CallFrame(), CallLabel(), pero mejor aplicable y flexible.

Compatibilidad
Navegador (Sistema Operativo)

Internet Explorer 5.0 + ( Windows)
Netscape 8.0 + (Windows, Macintosh)
Mozilla 1.7.5 + (Windows, Macintosh)
Firefox 1.0 + (Windows, Macintosh)
Safari 1.3 + (Macintosh)

Modo de uso:

Llamando desde AS a una función JavaScript:
Primero importamos la clase:
import flash.external.ExternalInterface;
Luego llamamos a la función JavaScript:

ExternalInterface.call(‘mifunción’);

Llamando desde JavaScript a una función AS:
Primero importamos la clase:
import flash.external.ExternalInterface;
(AS) Habilitamos la disponibiliadad de nuestra función:
ExternalInterface.addCallback(‘mifuncion’,this,mifuncion)
(JavaScript) Llamamos a la función:
document.mipelicula(‘miflash’).mifuncion();

ojo: Lo que devuelve esta función es el objeto película dentro del HTML, es una función crossbrowser que puedes descargar aquí .

Datos importantes:

Para que esto funcione adecuadamente debemos tener en cuenta que nuestro elemento object siempre debe tener un id (miflash en el caso del ejemplo), si llamamos a una funcion AS desde JavaScript, nuestro objeto embed debe tener un name idéntico al id de nuestro object.

Adicionalmente debemos agregar un parámetro a nuestro object:

Finalmente una recomendación para que el script funcione correctamente; Cambiar la configuración de seguridad del Flash Player si están haciendo pruebas localmente pero si usan un servidor no habrá ningún problema con los ejemplos.

Aquí les dejo las diapositivas.

Y aquí un ejemplo de como se comunica JavaScript con AS y aquí sus fuentes.
y aquí uno de como se comunica AS con JavaScript y sus fuentes.
Aquí un BrowserSniffer hecho en Flash con sus fuentes.

Saludos 🙂


Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: