HTMLpointHTMLpoint HTMLpoint.com


 Fs command: combinación de Flash-Script



Como ya se ha dicho, el action FS Command permite enviar mensajes al programa host que hospeda a la película Flash. Si se envían informaciones al browser web hay que crear scripts capaces de "capturar" dichos mensajes e interpretarlos.

En esta lección propondré un ejemplo simple de cómo conseguir abrir una nueva ventana del browser de un botón Flash.  No explicaré, sin embargo, el funcionamiento del JavaScript pues no me aprece pertinente en un curso Flash.

1a Fase - Configuración de los tag <OBJECT> e <EMBED>

Para empezar, hay que preparar el código HTML de la página web en la que está la película Flash. Es necesario aportar algún pequeño cambio en los tag <OBJECT> y <EMBED> que asignan los parámetros a la película Flash.

Antes de nada, tenemos que convertir la película "capturable" para los scripts. Para hacer esto, le damos un nombre a la película Flash; con este nombre, después, los scripts podrán identificar las informaciones que le enviaremos al browser.
Añadamos a los dos tag <OBJECT> y <EMBED> las voces ID e NAME:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#
version=4,0,0,0" WIDTH="100" HEIGHT="100"
ID="AbreVen.">
<PARAM NAME="MOVIE" VALUE="prova.swf">
<PARAM NAME="PLAY" VALUE="TRUE">
<PARAM NAME="LOOP" VALUE="FALSE">
<PARAM NAME="QUALITY" VALUE="HIGH">
<PARAM NAME="SCALE" VALUE="showall">

<EMBED
NAME="AbreVen" swLiveConnect="true"
SRC="prova.swf" SCALE="showall" PLAY="true" LOOP="false" QUALITY="high" WIDTH="100" HEIGHT="100" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/
index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>

(el código que se muestra sirve sólo como ejemplo para comprender mejor la posición de los parámetros ID y NAME)

En este ejemplo se ha asignado a los parámetros ID y NAME el valor AbreVen. Éste es el valor con el que los scripts podrán interceptar las informaciones e interpretarlas.

El parámetro swLiveConnect se incluye exclusivamente en el tag <EMBED> y permite cargar Java en la visión de la pagina. De esta manera, el browser no ralentiza la ejecución de los script cargando Java en el momento en que se abre la ventana.

2a Fase - Asignación de la action en el botón

Llegados a este punto, incluimos en la película Flash la clip botón que le permitirá ,cuando se clica, que se abra una nueva ventana del browser.
Asignamos esta action:

On (Release)
  FS Command ("nueva-ventana", "http://www.htmlpoint.com")
End On

dove nueva-ventana y el nombre que se hemos ya asignado a la orden (podemos asignarle cualquier nombre, es suficiente con que el valor en los scripts sea el mismo), y http://www.htmlpoint.com es el argumento (la nueva página web que hay que abrir).

3a Fase - Creación de los script

Podemos ya proceder a la creación de los script que van a permitir que se abra una nueva ventana del browser.

Éste es el código JavaScript que permite ejecutar la operación:

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 

function ApriFin_DoFSCommand(command, args)

if ( command == "
nueva-ventana" )

window.open(args,'','
scrollbars=yes,width=650,height=400');
}
}

//--> 
</SCRIPT>

La función Java DoFSCommand convoca a la película Flash AbreVen y recupera las variables command y args (que en nuestro caso tienen valor "nueva-ventana" y "http://www.htmlpoint.com").

¡Cuidado!
Si tenéis intención de modificar los valores de los parámetros ID y NAME tened cuidado de sustituir con el mismo valor el nombre de la función DoFSCommand.
Pongamos un ejemplo: si en lugar de AbreVen hubiésemos elegido seleccionar el nombre Pippo, la función JavaScript sería ésta: Pippo_DoFSCommand(..).

Como se ve, la función puede aceptar más elecciones enviadas por Flash y ejecutar operaciones diferentes. De hecho, en este ejemplo se ejecuta la operación de apertura de la ventana si el command es igual a nueva-ventana. Por tanto podemos incluir mas alecciones en la misma función y asignarle a cada una de ellas una operación.

Llegados a este punto, con Netscape podemos ver los resultados de la lección, mientras que con Explorer tenemos que insertar una parte más de código:

<SCRIPT LANGUAGE="VBScript">
<!-- 
// Para IE.

Sub AbreFin_FSCommand(ByVal command, ByVal args)
call AbreVen_DoFSCommand(command, args)
end sub

//-->
</SCRIPT>

siendo el VBScript el lenguaje por defecto.
Esta breve función convoca el JavaScript creado anteriormente y le envía las variables recibidas por la película Flash.

Estos dos script hay que insertarlos dentro de los tag <HEAD> y </HEAD>.

Profundización

Por desgracia, la orden FS Command no es compatible con todas las versiones de los browser, como sucede si se quiere convocar JavaScript directamente con la acción Get Url. He aquí una tabla que resume la compatibilidad o incompatibilidad de los distintos browser:

 

Script para la marcación plug-in

Load Movie

"JavaScript:" nel GetURL

FSCommand, comunicacion entre Flash y JavaScript

Netscape 3.0 y superiores

Mac 68k

No

No

No

No

Mac PowerPC

Windows 3.1

No

No

No

Windows 95/98/NT/2K

Internet Explorer 3.0 y superiores

Versione 3
Macintosh

No

No

No

Versión 4.5
Macintosh

No

Si

No

No

Versión 5.0
Macintosh

No

Versión 3
Windows 3.1

No

No

No

No

Versión 3
Windows 95/98/NT

No

Versión 4
Windows 95/98/NT

Versión 5
Windows 95/98/NT/2K


  Torna a inizio pagina