Caricamento di un file SWF esternoFlash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive In ActionScript 3.0, i file SWF vengono caricati mediante la classe Loader. Per caricare un file SWF esterno, il codice ActionScript deve eseguire quattro operazioni:
Il codice dovrebbe essere simile al seguente: var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
Questo stesso codice può essere utilizzato per caricare un file di immagine esterno (JPEG, GIF o PNG) specificando l'url del file di immagine anziché quello di un file SWF. Un file SWF, a differenza di un file di immagine, può contenere codice ActionScript. Pertanto, benché il processo di caricamento di un file SWF sia identico al caricamento di un'immagine, quando caricate un file SWF esterno, sia il file SWF che effettua il caricamento che il file SWF che viene caricato devono trovarsi all'interno della stessa funzione di sicurezza sandbox se il file SWF viene riprodotto da Flash Player or AIR e prevedete di utilizzare ActionScript per comunicare in qualche modo con il file SWF esterno. Inoltre, se il file SWF esterno contiene delle classi che condividono lo stesso spazio dei nomi delle classi nel file SWF in fase di caricamento, può essere necessario creare un nuovo dominio applicazione per il file SWF caricato per evitare eventuali conflitti tra gli spazi dei nomi. Per ulteriori informazioni su considerazioni relative a sicurezza e dominio applicazione, vedete Operazioni con i domini applicazione e Caricamento di contenuto. Quando il file SWF esterno è stato caricato correttamente, è possibile accedervi mediante la proprietà Loader.content. Se il file SWF esterno è pubblicato per ActionScript 3.0, si tratterà di un clip filmato o di uno sprite, a seconda della classe che estende. Considerazioni sul caricamento di un file SWF di una versione precedenteSe il file SWF esterno è stato pubblicato con una versione precedente di ActionScript, dovete tenere conto di alcune importanti limitazioni. A differenza di un file SWF di ActionScript 3.0 che viene eseguito in AVM2 (ActionScript Virtual Machine 2), un file SWF pubblicato per ActionScript 1.0 o 2.0 viene eseguito in AVM1 (ActionScript Virtual Machine 1). Esistono differenze importanti quando si carica un file SWF di ActionScript 1.0 o 1.0 in un file SWF di ActionScript 3.0 (rispetto al caricamento di un file SWF di ActionScript 3.0). Flash Player garantisce la totale compatibilità retroattiva con il contenuto pubblicato esistente. Qualsiasi contenuto eseguibile in versioni precedenti di Flash Player può essere eseguito nelle versioni di Flash Player che supportano ActionScript 3.0. Tuttavia, sono valide le limitazioni seguenti:
Nella tabella seguente vengono descritte le limitazioni relative al caricamento di nuovo contenuto e all'esecuzione del codice nelle versioni precedenti di Flash Player, nonché quelle relative allo scambio di script (cross-scripting) tra file SWF scritti in versioni diverse di ActionScript.
Nella seguente tabella, “Funzionalità supportata” fa riferimento al contenuto eseguito in Flash Player 9 o versioni successive. Il contenuto eseguito in Flash Player 8 o versioni precedenti può caricare, visualizzare, eseguire e scambiare script solo in ActionScript 1.0 e 2.0.
|
|