Requisiti e vantaggi dell'API esternaFlash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive L'API esterna è una porzione di ActionScript che fornisce un meccanismo di comunicazione tra ActionScript e il codice in esecuzione su un'applicazione cosiddetta “esterna”, ovvero un'applicazione che funge da contenitore per Flash Player (di solito, si tratta di un browser Web o di un'applicazione proiettore autonoma). In ActionScript 3.0, la funzionalità dell'API esterna è fornita dalla classe ExternalInterface. Nelle versioni di Flash Player precedenti a Flash Player 8, l'azione fscommand() viene utilizzata per effettuare la comunicazione con l'applicazione contenitore. La classe ExternalInterface sostituisce fscommand(). Nota: se avete l'esigenza di utilizzare ancora fscommand() (ad esempio, per mantenere la compatibilità con applicazioni precedenti o per interagire con un'applicazione contenitore di terze parti o con la versione autonoma di Flash Player), la funzione è ancora disponibile come funzione a livello di pacchetto nel pacchetto flash.system.
La classe ExternalInterface è un sottosistema che consente facili comunicazioni da ActionScript e Flash Player a una pagina HTML contenente JavaScript o a un'applicazione desktop che incorpora un'istanza di Flash Player. La classe ExternalInterface è disponibile solo nelle seguenti circostanze:
In tutte le altre situazioni (ad esempio, nel caso di esecuzione in un lettore autonomo) in cui la proprietà ExternalInterface.available restituisce false. Da ActionScript, è possibile chiamare una funzione JavaScript sulla pagina HTML. L'API esterna offre la seguente funzionalità perfezionata rispetto a fscommand():
Importante: se il nome fornito all'istanza di Flash Player in una pagina HTML (l'attributo id del tag object) include un trattino (-) o altri caratteri che sono definiti come operatori in JavaScript (ad esempio, +, *, /, \, . e così via), le chiamate a ExternalInterface da ActionScript non funzionano quando la pagina Web contenitore viene visualizzata in Internet Explorer. Inoltre, se i tag HTML che definiscono l'istanza di Flash Player (i tag object e embed) sono nidificati in un tag form HTML, le chiamate a ExternalInterface da ActionScript non funzionano.
|
|