Nozioni fondamentali sull'uso dell'API esterna

Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive

Benché in alcune circostanze un file SWF possa essere eseguito in modo indipendente (ad esempio, se si utilizza Adobe® Flash® per creare un proiettore SWF), nella maggior parte dei casi un'applicazione SWF viene eseguita come elemento in un'altra applicazione. Di solito, il contenitore in cui è incorporato il file SWF è un file HTML; meno frequentemente, un file SWF viene utilizzato integralmente o parzialmente come interfaccia utente di un'applicazione desktop.

Quando lavorate su applicazioni più avanzate, può essere necessario impostare la comunicazione tra un file SWF e l'applicazione contenitore. È abbastanza comune, ad esempio, che una pagina Web visualizzi testo o altre informazioni in HTML e includa un file SWF per visualizzare del contenuto visivo dinamico come un grafico o un video. In tali circostanze, potreste fare in modo che, quando gli utenti fanno clic su un pulsante presente sulla pagina Web, qualcosa cambi nel file SWF. ActionScript contiene un meccanismo, definito API esterna, che facilita questo tipo di comunicazione tra il codice ActionScript presente in un file SWF e altro codice presente nell'applicazione contenitore.

Concetti e termini importanti

L'elenco di riferimento seguente contiene termini importanti correlati a questa funzione:

Applicazione contenitore
L'applicazione al cui interno Flash Player esegue un file SWF, ad esempio un browser Web e la pagina HTML che include il contenuto Flash Player oppure un'applicazione AIR che carica il file SWF in una pagina Web.

Proiettore
Un file eseguibile che include contenuto SWF e una versione incorporata di Flash Player. Potete creare un file proiettore utilizzando Flash Professional o l'applicazione Flash Player autonoma. I proiettori vengono generalmente utilizzati per distribuire i file SWF su CD-ROM o in situazioni simili in cui le dimensioni di scaricamento non sono un problema e l'autore del file SWF vuole essere certo che l'utente sia in grado di eseguire il file SWF, indipendentemente dal fatto che abbia installato Flash Player sul computer.

Proxy
Un'applicazione o un codice intermedio che chiama il codice in un'applicazione (definita “applicazione esterna”) per conto di un'altra applicazione (definita “applicazione chiamante”) e restituisce i valori all'applicazione chiamante. Un proxy può essere utilizzato tra l'altro per:
  • Semplificare il processo di esecuzione delle chiamate a funzioni esterne, convertendo chiamate a funzioni native nell'applicazione chiamante nel formato interpretato dall'applicazione esterna.

  • Superare le limitazioni di sicurezza e di altro tipo per evitare che il chiamante comunichi direttamente con l'applicazione esterna.

Serializzare
Convertire i valori di oggetti o dati in un formato utilizzabile per passare i valori nei messaggi scambiati tra due sistemi di programmazione, ad esempio su Internet o tra due applicazioni diverse in esecuzione sullo stesso computer.

Operazioni con gli esempi

In molti casi, si tratta di brevi codici a scopo puramente dimostrativo, anziché di esempi completamente funzionanti o che controllano valori. Poiché l'uso di un'API esterna richiede (per definizione) la scrittura di codice ActionScript e del codice in un'applicazione contenitore, la prova degli esempi prevede la creazione di un contenitore (ad esempio, una pagina Web contenente il file SWF) e l'uso degli esempi di codice per interagire con il contenitore.

Per provare un esempio di comunicazione tra ActionScript e JavaScript:

  1. Create un nuovo documento utilizzando Flash Professional e salvatelo sul computer.

  2. Nel menu principale, scegliete File > Impostazioni pubblicazione.

  3. Nella finestra di dialogo Impostazioni pubblicazione, selezionate la scheda Formati e verificate che le caselle di controllo HTML e Flash siano selezionate.

  4. Fate clic sul pulsante Pubblica. In questo modo, vengono generati un file SWF e un file HTML nella stessa cartella e con lo stesso nome utilizzato per salvare il documento. Fare clic su OK per chiudere la finestra di dialogo Impostazioni pubblicazione.

  5. Deselezionate la casella di controllo HTML. Ora che la pagina HTML è stata generata, occorre modificarla e aggiungervi il codice JavaScript appropriato. La deselezione della casella di controllo HTML garantisce che in seguito alla modifica della pagina HTML, Flash non sovrascriva le modifiche apportate con una nuova pagina HTML al momento della pubblicazione del file SWF.

  6. Fare clic su OK per chiudere la finestra di dialogo Impostazioni pubblicazione.

  7. Mediante un'applicazione HTML o editor di testo, aprite il file HTML creato da Flash al momento della pubblicazione del file SWF. Nel codice sorgente HTML, aggiungete i tag script di apertura e chiusura e copiate al loro interno il codice JavaScript contenuto nell'esempio di codice:

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Salvate il file HTML e tornate a Flash.

  9. Selezionate il fotogramma chiave nel fotogramma 1 della linea temporale e aprite il pannello Azioni.

  10. Copiate l'esempio di codice ActionScript nel riquadro dello script.

  11. Nel menu principale, scegliete File > Pubblica per aggiornare il file SWF con le modifiche effettuate.

  12. Mediante un browser Web, aprite la pagina HTML modificata per visualizzarla e provarne la comunicazione con ActionScript.

Per provare un esempio di comunicazione tra ActionScript e un contenitore ActiveX:

  1. Create un nuovo documento utilizzando Flash Professional e salvatelo sul computer. È consigliabile salvarlo nella cartella in cui l'applicazione contenitore si aspetta di trovare il file SWF.

  2. Nel menu principale, scegliete File > Impostazioni pubblicazione.

  3. Nella finestra di dialogo Impostazioni pubblicazione, selezionate la scheda Formati e verificate che sia selezionata solo la casella di controllo Flash.

  4. Nel campo di testo File accanto alla casella di controllo Flash, fate clic sull'icona della cartella per selezionare la cartella in cui pubblicare il file SWF. Impostando la posizione del file SWF, potete (ad esempio) conservare il documento in una cartella e collocare il file SWF pubblicato in un'altra, ad esempio nella cartella che contiene il codice sorgente dell'applicazione contenitore.

  5. Selezionate il fotogramma chiave nel fotogramma 1 della linea temporale e aprite il pannello Azioni.

  6. Copiate il codice ActionScript dell'esempio nel riquadro dello script.

  7. Nel menu principale, scegliete File > Pubblica per pubblicare di nuovo il file SWF.

  8. Create ed eseguite l'applicazione contenitore per provare la comunicazione tra ActionScript e l'applicazione contenitore.

Per esempi completi di utilizzo dell'API esterna per comunicare con una pagina HTML, vedete gli argomenti seguenti: Questi esempi sono costituiti da codici completi, che includono il codice di verifica degli errori del contenitore e ActionScript, necessari per la scrittura di codice che utilizza l'API esterna. Per un altro esempio di codice completo che utilizza l'API esterna, fate riferimento all'esempio della classe ExternalInterface nella Guida di riferimento di ActionScript 3.0.