Llamar a funciones ActionScript (Flash) definidas por el Usuario desde JavaScript

En: Flash

21 mar 2007

WP Greet Box icon
Hola! Si estás nuevo por aquí y te gusta lo que ves, puedes disfrutar de una actualización automática y gratuita por RSS para leer nuestros artículos completos cuando lo deseas en tu lector RSS favorito.

Existen varias maneras de comunicar flash con javascript a continuacion les presento una muy flexible pues permite llamar a funciones definidas por el usuario en action script…

Como primer paso se debe crear un archivo flash que contenga el siguiente codigo:

// Importa las librerias necesarias para exponer funciones
import flash.external.ExternalInterface;
/*
Expone las funciones para que puedan ser llamadas con javascript,
addCallback, recibe tres parametros. El primero es el nombre del metodo
que va a ser ultizado por JavaScript (alias del metodo AS), el segundo parametro
es la instancia/objeto donde esta la funcion o metodo y el tercer parametro
es la funcion actionscript a ser expuesta
*/
ExternalInterface.addCallback( "NombreMetodo", this, metodo );
function metodo() {
   return "visita www.portalquito.com";
}

El codigo anterior como se dice lo que hace es exponer la funcion “metodo” para que pueda ser llamada desde javascript, entonces ahora lo que necesitamos es algo de codigo javascript para llamar a dicho metodo. Como primera medida vamos a ser uso de una funcion generica para obtener un elemento flash incluido en nuestra pagina web, el uso de esta funcion es importante pues nos permite tener compatibilidad entre navegadores

function getFlashMovieObject(movieName)
{
  if (window.document[movieName])
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName];
  }
  else
  {
    return document.getElementById(movieName);
  }
}

Esta funcion la almacenamos en un archivo llamado flash-javascript.js. Finalmente debemos editar nuestra pagina HTML que incluye el objeto flash realizando las siguientes modificaciones:

Primeramente debemos incluir el archivo javascript creado anteriormente y luego una funcion que sera la encargada de llamar a al metodo en ActionScript

< script language="javascript" src="flash-javascript.js" >< / script >
< script language="JavaScript" >
function NombreMetodo()
{
	swf = getFlashMovieObject("flashjavascript");
   return swf.NombreMetodo();
}
< / script >

Finalmente debemos fijarnos que nuestro flash en la pagina en el tag object la id sea flashjavascript y el atributo name del tag embed sea el mismo. Este valor puede variar pero tambien debemos cambiarlo en la funcion javascript.

Tambien agregaremos un boton para llamar a la funcion javascript con el siguiente codigo

Ver Demo

Descargar Demo

Otros post

Este post ha sido visto 7576 veces

Deja tu comentario!

Acerca de UnderMedia

Inspiración y Determinación |
En Blog UnderMedia se recopilan y publican periódicamente noticias, artículos o comentarios generados dentro de UnderMedia S.A.

Twitter UnderMedia

  • Gaby: No le entendi XD [...]
  • makinista: Como podría hacer para que al hacer clic en un botón me cargara un html en otra parte de una web c [...]
  • Pablo: hola, muy bueno hombre, queria hacerte una pregunta, tal ves sea tonta no se, cual es la ventaja de [...]
  • Antony: Para ponerlo en tus páginas es necesario seguir estas instrucciones http://www.gentlesource.com/do [...]
  • Antony: Funciona perfecto. A los que les sale la página en blanco, si instalaron el modulo de lengua en esp [...]

Comunidad

Ultimas visitas

Raking

  • Blogalaxia
  • Top Blogs Ecuador

Switch to our mobile site