Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Interazione Flash-JavaScript

Collegare Flash al linguaggio JavaScript.
Collegare Flash al linguaggio JavaScript.
Link copiato negli appunti

Come già detto, l'azione FS Command permette di inviare messaggi al programma host che ospita il filmato Flash. Inviando informazioni al browser web è necessario creare degli script capaci di "catturare" questi messaggi ed interpretarli.

In questa lezione farò un semplice esempio su come riuscire ad aprire una
nuova finestra del browser da un bottone Flash.  Non spiegherò però 
il funzionamento del JavaScript in quanto non è attinente a questo corso.

1a Fase - Configurazione dei tag <OBJECT> e <EMBED>

Per prima cosa bisogna preparare il codice HTML della pagina web che ospita
il filmato Flash. Bisogna apportare qualche piccola modica nei tag
<OBJECT> e <EMBED> che assegnano i parametri al filmato Flash.

Prima di tutto dobbiamo rendere il filmato "catturabile" dagli
script. Per fare questo assegniamo un nome al filmato Flash; con questo nome
poi, gli script potranno identificare le informazioni che invieremo al browser.
Aggiungiamo ai due tag <OBJECT> e <EMBED> le voci ID e NAME:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#
version=5,0,0,0" ID="ApriFin">
<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="ApriFin"
swLiveConnect="true"
SRC="prova.swf" SCALE="showall" PLAY="true" LOOP="false"QUALITY="high"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/
index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>

(il codice mostrato è solo di esempio per comprendere al meglio il
posizionamento dei parametri ID e NAME)
In questo esempio sono stati assegnati ai parametri ID e NAME, il valore ApriFin. È con questo valore che gli script saranno in grado di intercettare le informazioni ed interpretarle.
Il parametro swLiveConnect viene inserito esclusivamente nel tag <EMBED> e permette di caricare Java alla visualizzazione della pagina. In questo modo il browser non deve rallentare l'esecuzione degli script caricando Java al momento dell'apertura finestra.

2a Fase - Assegnazione dell'action nel bottone

A questo punto, inseriamo nel filmato Flash, la clip bottone che
permetterà, al clic, di aprire una nuova finestra del browser.
Assegniamo questa action:

on
(release) {
  fscommand
("nuova-finestra", "http://www.flash5.it");
}

dove nuova-finestra è il nome che abbiamo assegnato al comando (possiamo assegnare qualsiasi nome, basta che il valore negli script sia lo stesso), e http://www.flash5.it è l'argomento (la nuova pagina web da aprire).

3a Fase - Creazione degli script

Possiamo quindi procedere alla creazione degli script che permetteranno di
aprire una nuova finestra del browser.

Ecco il codice JavaScript che permette di eseguire questa operazione:

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

function ApriFin_DoFSCommand(command,
args)


if ( command == "nuova-finestra"
)

window.open(args,'','scrollbars=yes,width=650,height=400');
}
}
//--> 
</SCRIPT>

La funzione Java DoFSCommand richiama il filmato Flash ApriFin e recupera le variabili command e args (che nel nostro caso hanno valore "nuova-finestra" e "http://flash-mx.html.it").

Attenzione!
Se avete intenzione di modificare i valori dei parametri ID
e NAME abbiate cura di sostituire con lo stesso valore, il nome della funzione DoFSCommand.
Facciamo un esempio: se al posto di ApriFin avessimo scelto di
assegnare il nome Pippo, la funzione JavaScript sarebbe questa: Pippo_DoFSCommand(..).

Come si può notare dalla funzione, essa può accettare più scelte inviate
da Flash ed eseguire operazioni diverse. Infatti, in questo esempio, viene
eseguita l'operazione di apertura finestra se il command è uguale a nuova-finestra. Quindi possiamo inserire più scelte nella stessa funzione ed assegnare ad ognuna di esse un'operazione.

Arrivati a questo punto, con Netscape possiamo già vedere i risultati della
lezione, mentre con Explorer dobbiamo inserire un altro pezzo di codice:

<SCRIPT LANGUAGE="VBScript">
<!-- 
// Per IE.
Sub ApriFin_FSCommand(ByVal command, ByVal args)
call ApriFin_DoFSCommand(command, args)
end sub
//-->
</SCRIPT>

essendo il VBScript il linguaggio di default.
Questa breve funzione richiama il JavaScript creato precedentemente e gli invia
le variabili ricevute dal filmato Flash.

Questi due script vanno inseriti all'interno dei tag <HEAD> e </HEAD>.

Approfondimento

Purtroppo il comando FS Command non è compatibile con tutte le
versioni dei browser, così come richiamare JavaScript direttamente dall'azione Get Url. Ecco una tabella che riassume la compatibilità o meno dei diversi browser:

 

Script per il rilevamento
plug-in

Load Movie

"JavaScript:" nel
GetURL

FSCommand, comunicazione tra
Flash e JavaScript

Netscape 3.0 e superiori

Mac 68k

No

No

No

No

Mac PowerPC

Si

Si

Si

Si

Windows 3.1

Si

No

No

No

Windows 95/98/NT/2000

Si

Si

Si

Si

Internet Explorer 3.0 e
superiori

Versione 3
Macintosh

No

No

Si

No

Versione 4.5
Macintosh

No

Si

No

No

Versione 5.0
Macintosh

Si

Si

Si

No

Versione 3
Windows 3.1

No

No

No

No

Versione 3
Windows 95/98/NT

Si

Si

No

Si

Versione 4
Windows 95/98/NT

Si

Si

Si

Si

Versione 5
Windows 95/98/NT/2000

Si

Si

Si

Si

Versione 6
Windows 95/98/NT/2000

Si

Si

Si

Si

Versione 5
Windows 95/98/NT/2000

Si

Si

Si

Si


Ti consigliamo anche