Pacchetto | flash.system |
Classe | public class LoaderContext |
Ereditarietà | LoaderContext Object |
Sottoclassi | JPEGLoaderContext |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
context
nei metodi load()
e loadBytes()
della classe Loader.
Quando caricate i file SWF mediante il metodo Loader.load()
, è necessario decidere in quale dominio di sicurezza e in quale dominio applicazione all'interno del dominio di sicurezza si desidera posizionarli. Per ulteriori informazioni su queste opzioni, vedete le proprietà applicationDomain
e securityDomain
.
Quando caricate un file SWF mediante il metodo Loader.loadBytes()
, è necessario scegliere il dominio applicazione come nel caso di Loader.load()
, mentre non è necessario specificare un dominio di sicurezza, in quanto Loader.loadBytes()
posiziona sempre il file SWF caricato nel dominio di sicurezza del file che esegue il caricamento.
Quando si caricano immagini invece che file SWF (JPEG, GIF o PNG), non è necessario specificare un SecurityDomain o un dominio applicazione, in quanto questi concetti hanno un significato solo per i file SWF. È sufficiente decidere se è necessario disporre dell'accesso programmatico ai pixel dell'immagine caricata. In questo caso, vedete la proprietà checkPolicyFile.
Se desiderate applicare il deblock quando caricate un'immagine, utilizzate la classe JPEGLoaderContext anziché la classe LoaderContext.
Altri esempi
Altre informazioni
Elementi API correlati
flash.display.Loader.loadBytes()
flash.system.ApplicationDomain
flash.system.JPEGLoaderContext
flash.system.LoaderContext.applicationDomain
flash.system.LoaderContext.checkPolicyFile
flash.system.LoaderContext.securityDomain
flash.system.SecurityDomain
flash.system.ImageDecodingPolicy
Proprietà | Definito da | ||
---|---|---|---|
allowCodeImport : Boolean
Specifica se potete utilizzare un oggetto Loader per importare contenuto con codice eseguibile, quale un file SWF, nella sandbox di sicurezza del chiamante. | LoaderContext | ||
allowLoadBytesCodeExecution : Boolean
Proprietà legacy, sostituita da allowCodeImport ma ancora supportata per garantire la compatibilità. | LoaderContext | ||
applicationDomain : ApplicationDomain = null
Indica il dominio applicazione da usare per il metodo Loader.load() o Loader.loadBytes(). | LoaderContext | ||
checkPolicyFile : Boolean = false
Indica se l'applicazione deve cercare di scaricare un file di criteri degli URL dal server dell'oggetto caricato prima di avviare il caricamento dell'oggetto stesso. | LoaderContext | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
imageDecodingPolicy : String
Specifica se i dati immagine bitmap devono essere decodificati quando vengono utilizzati o caricati. | LoaderContext | ||
parameters : Object
Un oggetto contenente i parametri da passare all'oggetto LoaderInfo del contenuto. | LoaderContext | ||
requestedContentParent : DisplayObjectContainer
L'elemento principale al quale il Loader tenterà di aggiungere il contenuto caricato. | LoaderContext | ||
securityDomain : SecurityDomain = null
Indica il dominio applicazione da usare per un'operazione Loader.load(). | LoaderContext |
Metodo | Definito da | ||
---|---|---|---|
LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)
Crea un nuovo oggetto LoaderContext con le impostazioni specificate. | LoaderContext | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
allowCodeImport | proprietà |
public var allowCodeImport:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.1, AIR 2.0 |
Specifica se potete utilizzare un oggetto Loader
per importare contenuto con codice eseguibile, quale un file SWF, nella sandbox di sicurezza del chiamante. Sono interessate due operazioni di importazione: il metodo Loader.loadBytes()
e il metodo Loader.load()
con LoaderContext.securityDomain = SecurityDomain.currentDomain
. (La seconda operazione non è supportata nella sandbox dell'applicazione AIR.) Con la proprietà allowCodeImport
impostata su false
, queste operazioni di importazione vengono limitate alle operazioni sicure, ad esempio il caricamento di immagini. Il valore di questa proprietà non influisce sul caricamento normale (senza importazione) dei file SWF con il metodo Loader.load()
.
Questa proprietà è utile quando volete importare immagini nella sandbox (ad esempio quando volete replicare o elaborare un'immagine da un dominio differente) ma non desiderate correre il rischio di sicurezza rappresentato dalla ricezione di un file SWF quando prevedete di ricevere solo un file di immagine. Poiché i file SWF possono contenere codice ActionScript, l'importazione di un file SWF è un'operazione molto più rischiosa dell'importazione di un semplice file di immagine.
Nel contenuto AIR della sandbox dell'applicazione, il valore predefinito è false
. Nel contenuto esterno all'applicazione (che include tutto il contenuto in Flash Player), il valore predefinito è true
.
La proprietà isURLInaccessible
è stata aggiunta per Flash Player 10.1 e AIR 2.0. Tuttavia, questa proprietà viene resa disponibile ai file SWF e alle applicazioni AIR di tutte le versioni quando è supportata dal runtime di Flash.
Elementi API correlati
allowLoadBytesCodeExecution | proprietà |
allowLoadBytesCodeExecution:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Lite 4 |
Proprietà legacy, sostituita da allowCodeImport
ma ancora supportata per garantire la compatibilità. In precedenza, l'unica operazione interessata da allowLoadBytesCodeExecution
era il metodo Loader.loadBytes()
, ma a partire da Flash Player 10.1 e AIR 2.0 è interessata anche l'operazione di caricamento con importazione di Loader.load()
con LoaderContext.securityDomain = SecurityDomain.currentDomain
. (La seconda operazione non è supportata nella sandbox dell'applicazione AIR.) Questo doppio effetto ha reso il nome della proprietà allowLoadBytesCodeExecution
troppo specifico, quindi ora viene preferito il nome allowCodeImport
. L'impostazione di allowCodeImport
o di allowLoadBytesCodeExecution
ha effetto sul valore di entrambe le proprietà.
Specifica se potete utilizzare un oggetto Loader
per importare contenuto con codice eseguibile, quale un file SWF, nella sandbox di sicurezza del chiamante. Con questa proprietà impostata su false
, queste operazioni di importazione vengono limitate alle operazioni sicure, ad esempio il caricamento di immagini.
Nel contenuto AIR della sandbox dell'applicazione, il valore predefinito è false
. Nel contenuto esterno all'applicazione, il valore predefinito è true
.
Implementazione
public function get allowLoadBytesCodeExecution():Boolean
public function set allowLoadBytesCodeExecution(value:Boolean):void
Elementi API correlati
applicationDomain | proprietà |
public var applicationDomain:ApplicationDomain = null
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica il dominio applicazione da usare per il metodo Loader.load()
o il metodo Loader.loadBytes()
. Utilizzate questa proprietà solo per il caricamento di un file SWF scritto in ActionScript 3.0 (non un'immagine o un file SWF scritto in ActionScript 1.0 o ActionScript 2.0).
Tutti i domini di sicurezza sono divisi in uno o più domini applicazioni, rappresentati da oggetti ApplicationDomain. I domini applicazioni non hanno scopi di sicurezza, ma hanno il compito di gestire le unità cooperanti di codice ActionScript. Se state caricando un file SWF da un altro dominio, e consentite il suo posizionamento in un dominio di sicurezza separato, non potete controllare la scelta del dominio applicazione nel quale il file SWF viene posto; se avete specificato un dominio applicazione, questo verrà ignorato. Tuttavia, se state caricando un file SWF nel vostro dominio di sicurezza, perché il file proviene dal vostro dominio oppure perché lo state importando nel vostro dominio di sicurezza, potete controllare la scelta del dominio applicazione per il file SWF caricato.
Potete passare un dominio applicazione in LoaderContext.applicationDomain
solo se proviene dal vostro dominio di sicurezza. Se tentate di passare un dominio applicazione da qualsiasi altro dominio di sicurezza, viene generata un'eccezione SecurityError
.
Sono disponibili quattro opzioni relative al tipo di proprietà ApplicationDomain
da utilizzare:
- Elemento secondario di ApplicationDomain del loader. Valore predefinito. Questa scelta può essere esplicitamente rappresentata mediante la sintassi
new ApplicationDomain(ApplicationDomain.currentDomain)
. In questo modo, il file SWF caricato può utilizzare direttamente le classi dell'elemento principale, ad esempio scrivendonew MyClassDefinedInParent()
. L'elemento principale, tuttavia, non può utilizzare questa sintassi; se l'elemento principale desidera utilizzare le classi dell'elemento secondario, deve eseguire una chiamata aApplicationDomain.getDefinition()
per recuperarle. Il vantaggio di questa scelta consiste nel fatto che se l'elemento secondario definisce una classe con lo stesso nome di un'altra già definita dall'elemento principale, non viene generato nessun errore; l'elemento secondario eredita semplicemente la definizione di quella classe dall'elemento principale, e le definizione in conflitto dell'elemento secondario non viene utilizzata a meno che l'elemento secondario o quello principale non chiamino il metodoApplicationDomain.getDefinition()
per recuperarla. - ApplicationDomain proprio del loader. Usate questo dominio applicazione quando si utilizza
ApplicationDomain.currentDomain
. Al termine del caricamento, l'elemento principale e quello secondario possono utilizzare direttamente le reciproche classi. Se l'elemento secondario prova a definire una classe con lo stesso nome di una classe già definita, nell'elemento superiore, verrà utilizzata la classe dell'elemento principale e quella del secondario verrà ignorata. - Elemento secondario di ApplicationDomain del sistema. Usate questo dominio applicazione quando si utilizza
new ApplicationDomain(null)
. In questo modo l'elemento caricante e l'elemento caricato vengono separati completamente, il che consente loro di definire versioni diverse di classi con lo stesso nome senza il pericolo di conflitti o oscuramenti. L'unico modo perché una parte possa vedere le classi dell'altra è mediante una chiamata al metodoApplicationDomain.getDefinition()
. - Elemento secondario di un altro ApplicationDomain. Può capitare di trovarsi in presenza di una gerarchia di ApplicationDomain più complessa. Potete caricare un file SWF all'interno di qualsiasi ApplicationDomain del vostro SecurityDomain. Ad esempio,
new ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain)
carica un file SWF in un nuovo elemento secondario dell'elemento principale dell'elemento principale del dominio corrente.
Quando un caricamento viene completato, una delle parti (caricante o caricato) potrebbe dover trovare il proprio ApplicationDomain, oppure l'ApplicationDomain dell'altra parte, allo scopo di eseguire una chiamata a ApplicationDomain.getDefinition()
. Entrambe le parti possono recuperare un riferimento al proprio dominio applicazione utilizzando ApplicationDomain.currentDomain
. Il file SWF che esegue il caricamento può recuperare un riferimento all'ApplicationDomain del file SWF caricato, mediante Loader.contentLoaderInfo.applicationDomain
. Se il file SWF caricato conosce la modalità con cui è stato caricato, può trovare il modo per raggiungere l'oggetto ApplicationDomain del file SWF che ha eseguito il caricamento. Ad esempio, se l'elemento secondario è stato caricato nel modo predefinito, può trovare il dominio applicazione del file SWF che ha eseguito il caricamento, utilizzando ApplicationDomain.currentDomain.parentDomain
.
Per ulteriori informazioni, vedete la sezione "Classe ApplicationDomain" del capitolo "Ambiente del sistema client" della Guida per gli sviluppatori di ActionScript 3.0.
Elementi API correlati
checkPolicyFile | proprietà |
public var checkPolicyFile:Boolean = false
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica se l'applicazione deve cercare di scaricare un file di criteri degli URL dal server dell'oggetto caricato prima di avviare il caricamento dell'oggetto stesso. Questo flag si applica al metodo Loader.load()
ma non al metodo Loader.loadBytes()
.
Impostate questo flag su true
quando caricate un'immagine (JPEG, GIF o PNG) da un punto al di fuori del dominio del file SWF che esegue la chiamata e prevedete che sarà necessario disporre dell'accesso al contenuto di quell'immagine da ActionScript. Ad esempio, l'accesso al contenuto dell'immagine consente di fare riferimento alla proprietà Loader.content
per ottenere un oggetto Bitmap e di chiamare il metodo BitmapData.draw()
per ottenere una copia dei pixel dell'immagine caricata. Se tentate di eseguire una di queste operazioni senza avere specificato checkPolicyFile
al momento del caricamento, è possibile che venga generata un'eccezione SecurityError
in quanto il file di criteri necessario non è ancora stato scaricato.
Quando chiamate il metodo Loader.load()
con LoaderContext.checkPolicyFile
impostato su true
, l'applicazione non inizia a scaricare l'oggetto specificato in URLRequest.url
finché non ha scaricato un file di criteri degli URL rilevante oppure finché non ha stabilito che tale file non esiste. Flash Player o AIR considera innanzitutto i file di criteri che sono già stati scaricati, quindi tenta di scaricare gli eventuali file di criteri in attesa specificati nelle chiamate al metodo Security.loadPolicyFile()
, infine tenta di scaricare un file di criteri dalla posizione predefinita corrispondente a URLRequest.url
, che è /crossdomain.xml
sullo stesso server di URLRequest.url
. In tutti i casi, il file di criteri dato deve esistere in URLRequest.url
in virtù della posizione del file dei criteri e il file deve consentire l'accesso in virtù di uno o più tag <allow-access-from>
.
Se impostate checkPolicyFile
su true
, lo scaricamento principale specificato nel metodo Loader.load()
non inizia a caricare fino a quando il file dei criteri non è stato completamente elaborato. Pertanto, a condizione che il file di criteri richiesto esista, non appena si ricevono gli eventi ProgressEvent.PROGRESS
o Event.COMPLETE
dalla proprietà contentLoaderInfo
dell'oggetto Loader, il caricamento del file è completo ed è possibile avviare tutte le operazioni che richiedono la sua presenza.
Se impostate checkPolicyFile
su true
e non viene trovato alcun file dei criteri rilevante, non riceverete alcun messaggio di errore finché non tentate di eseguire un'operazione che genera un'eccezione SecurityError
. Tuttavia, dopo che l'oggetto LoaderInfo invia un evento ProgressEvent.PROGRESS
o Event.COMPLETE
, potete verificare se è stato trovato un file dei criteri rilevante controllando il valore della proprietà LoaderInfo.childAllowsParent
.
Se non avete necessità dell'accesso a livello di pixel all'immagine che state caricando, non impostate la proprietà checkPolicyFile
su true
. Verificare la presenza di un file dei criteri in questo caso è controproducente in quanto potrebbe ritardare l'inizio dello scaricamento e consumare inutilmente l'ampiezza di banda di rete.
Inoltre, si consiglia di non impostare checkPolicyFile
su true
se si utilizza il metodo Loader.load()
per scaricare un file SWF, in quanto le autorizzazioni da SWF a SWF non sono controllate dai file dei criteri ma dal metodo Security.allowDomain()
, pertanto, checkPolicyFile
non ha alcun effetto quando caricate un file SWF. Verificare la presenza di un file dei criteri in questo caso è controproducente in quanto potrebbe ritardare lo scaricamento del file SWF e consumare inutilmente l'ampiezza di banda di rete. (Flash Player o AIR non è in grado di capire se lo scaricamento principale interesserà un file SWF o un'immagine, in quanto lo scaricamento del file dei criteri avviene prima dello scaricamento principale).
Fate attenzione a checkPolicyFile
se state scaricando un oggetto da un URL che potrebbe utilizzare reindirizzamenti HTTP sul lato server. I file dei criteri vengono sempre recuperati dall'URL iniziale corrispondente specificato in URLRequest.url
. Se l'oggetto finale proviene da un URL diverso a seguito di reindirizzamenti HTTP, i file dei criteri inizialmente scaricati potrebbero non essere applicabili all'URL finale dell'oggetto, vale a dire l'URL determinante in termini di decisioni sulla sicurezza. Se vi trovate in questa situazione, potete esaminare il valore di LoaderInfo.url
dopo che si è ricevuto un evento ProgressEvent.PROGRESS
o Event.COMPLETE
, che specificano l'URL finale dell'oggetto. Quindi, chiamate il metodo Security.loadPolicyFile()
utilizzando l'URL di un file dei criteri basato sull'URL finale dell'oggetto. A quel punto, eseguite il polling del valore di LoaderInfo.childAllowsParent
finché non diventa true
.
Non dovete impostare questa proprietà per i contenuti AIR in esecuzione nella funzione di sicurezza sandbox dell'applicazione. Il contenuto presente nella funzione di sicurezza sandbox dell'applicazione AIR può chiamare il metodo BitmapData.draw()
utilizzando come origine qualunque contenuto di immagine caricato.
Altri esempi
Altre informazioni
Elementi API correlati
imageDecodingPolicy | proprietà |
public var imageDecodingPolicy:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.6, Flash Player 11 |
Specifica se i dati immagine bitmap devono essere decodificati quando vengono utilizzati o caricati.
In base al criterio predefinito, ImageDecodingPolicy.ON_DEMAND
, il runtime decodifica i dati di immagine quando sono necessari (per la visualizzazione o per altri scopi). Questo criterio mantiene il comportamento di decodifica utilizzato dalle versioni precedenti del runtime.
In base al criterio ImageDecodingPolicy.ON_LOAD
, il runtime decodifica l'immagine subito dopo che viene caricata e prima di inviare l'evento complete
. La decodifica delle immagini eseguita in fase di caricamento anziché on demand può migliorare le prestazioni delle animazioni e dell'interfaccia utente. Potete notare il miglioramento dei risultati quando visualizzate più immagini in rapida successione. Esempi di immagini visualizzate in rapida successione sono gli elenchi scorrevoli o i controlli Cover Flow. D'altra parte, l'uso indiscriminato del criterio onLoad
può incrementare i picchi di utilizzo della memoria da parte della vostra applicazione. Nella memoria possono infatti venirsi a trovare più dati di immagine decodificati rispetto a quelli memorizzati con il criterio onDemand
.
Con entrambi i criteri, il runtime utilizza lo stesso comportamento di memorizzazione in cache e scarico della cache dopo la decodifica dell'immagine. Il runtime può scaricare i dati decodificati in qualunque momento e decodificare di nuovo l'immagine la volta successiva che è richiesta.
Per impostare il criterio di decodifica immagini (ad esempio su ON_LOAD
):
var loaderContext:LoaderContext = new LoaderContext(); loaderContext.imageDecodingPolicy = ImageDecodingPolicy.ON_LOAD var loader:Loader = new Loader(); loader.load(new URLRequest("http://www.adobe.com/myimage.png"), loaderContext);
Elementi API correlati
parameters | proprietà |
public var parameters:Object
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.2, AIR 2.6 |
Un oggetto contenente i parametri da passare all'oggetto LoaderInfo del contenuto.
Normalmente, il valore della proprietà contentLoaderInfo.parameters
si ottiene analizzando l'URL richiedente. Se la variabile parameters
è impostata, contentLoaderInfo.parameters
riceve il proprio valore dall'oggetto LoaderContext, anziché dall'URL richiedente. La variabile parameters
accetta solo oggetti che contengono coppie di stringhe nome-valore, analogamente ai parametri URL. Se l'oggetto non contiene coppie di stringhe nome-valore, viene generato un errore IllegalOperationError
.
L'intento di questa API è quello di abilitare il file SWF che esegue il caricamento a trasmettere i propri parametri a un file SWF caricato. Questa funzionalità è particolarmente utile quando si utilizza il metodo loadBytes()
, poiché LoadBytes
non fornisce un mezzo per passare parametri tramite l'URL. I parametri possono essere trasmessi con successo solo a un altro file SWF AS3; un file SWF AS1 o AS2 non può ricevere i parametri in un formato accessibile, anche se viene trasmesso l'oggetto AS3 loaderInfo.parameters di AVM1Movie.
Consideriamo l'esempio dell'URL seguente:
http://yourdomain/users/jdoe/test01/child.swf?foo=bar;
Il codice seguente utilizza la proprietà LoaderContext.parameters per replicare un parametro passato a questo URL:
import flash.system.LoaderContext; import flash.display.Loader; var l:Loader = new Loader(); var lc:LoaderContext = new LoaderContext; lc.parameters = { "foo": "bar" }; l.load(new URLRequest("child.swf"), lc);
Per verificare che il parametro sia stato passato correttamente, utilizzate la seguente istruzione trace dopo l'esecuzione di questo codice:
trace(loaderInfo.parameters.foo);
Se il contenuto è stato caricato correttamente, il risultato dell'istruzione trace sarà "bar".
requestedContentParent | proprietà |
public var requestedContentParent:DisplayObjectContainer
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.2, AIR 2.6 |
L'elemento principale al quale il Loader tenterà di aggiungere il contenuto caricato.
Quando il contenuto è completamente caricato, l'oggetto Loader in genere diventa l'elemento principale del contenuto. Se requestedContentParent
è impostato, l'oggetto che esso specifica diventa l'elemento principale, a meno che un errore runtime non impedisca l'assegnazione. Questo cambio di elemento principale può anche essere eseguito dopo l'evento complete
senza ricorrere a questa proprietà. Tuttavia, se si specifica l'elemento principale con LoaderContext.requestedContentParent
, si eliminano gli eventi supplementari.
LoaderContext.requestedContentParent
imposta l'elemento principale desiderato prima che vengano eseguiti gli script del fotogramma uno, ma dopo l'esecuzione della funzione di costruzione. Se requestedContentParent
è null (impostazione predefinita), l'oggetto Loader diventa l'elemento principale del contenuto.
Se il contenuto caricato è un oggetto AVM1Movie, oppure se viene generato un errore quando si chiama addChild()
sull'oggetto requestedContentParent
, si verifica quanto segue:
- L'oggetto Loader diventa l'elemento principale del contenuto caricato.
- Il runtime invia un evento
AsyncErrorEvent
.
Se l'elemento principale richiesto e il contenuto caricato sono in sandbox di sicurezza differenti e l'elemento principale richiesto non ha accesso al contenuto caricato, si verifica quanto segue:
- L'oggetto Loader diventa l'elemento principale del contenuto caricato.
- Il runtime invia un evento
SecurityErrorEvent
.
Il codice seguente utilizza requestedContentParent
per inserire il contenuto caricato in un oggetto Sprite:
import flash.system.LoaderContext; import flash.display.Loader; import flash.display.Sprite; var lc:LoaderContext = new LoaderContext(); var l:Loader = new Loader(); var s:Sprite = new Sprite(); lc.requestedContentParent = s; addChild(s); l.load(new URLRequest("child.swf"), lc);
Quando viene eseguito questo codice, il file SWF secondario appare sullo stage. Ciò conferma che l'oggetto Sprite aggiunto allo stage è l'elemento principale del file child.swf caricato.
securityDomain | proprietà |
public var securityDomain:SecurityDomain = null
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Indica il dominio applicazione da usare per una operazione Loader.load()
. Utilizzate questa proprietà solo per caricare un file SWF (non un'immagine).
La scelta del dominio di sicurezza ha senso soltanto se si sta caricando un file SWF che potrebbe provenire da un dominio diverso (da un altro server) rispetto al file SWF che esegue il caricamento. Quando caricate un file SWF dal vostro dominio, esso viene sempre inserito nel vostro dominio di sicurezza. Al contrario, quando caricate un file SWF da un dominio diverso, potete procedere in due modi: Lasciare che il file SWF caricato venga posto nel proprio dominio di sicurezza "naturale", diverso da quello del file SWF che esegue il caricamento (valore predefinito). Oppure, specificare che si desidera posizionare il file SWF caricato nello stesso dominio di sicurezza del file SWF che esegue il caricamento, impostandomyLoaderContext.securityDomain
in modo che sia uguale a SecurityDomain.currentDomain
. Questa operazione è denominata caricamento mediante importazione e, ai fini della sicurezza, equivale a copiare il file SWF caricato sul vostro server e, quindi, a caricarlo da lì. Per fare in modo che il caricamento mediante importazione riesca, il server del file SWF caricato deve disporre di un file dei criteri che ritenga affidabile il dominio del file SWF che esegue il caricamento.
Potete passare il vostro dominio di sicurezza solo in LoaderContext.securityDomain
. Se tentate di passare qualsiasi altro dominio di sicurezza, viene generata un'eccezione SecurityError
.
Il contenuto presente nella sandbox di sicurezza dell'applicazione AIR non può caricare contenuto da altre sandbox nel proprio SecurityDomain.
Per ulteriori informazioni, consultate il capitolo "Sicurezza" nella Guida per gli sviluppatori di ActionScript 3.0.
Altri esempi
Altre informazioni
Elementi API correlati
LoaderContext | () | Funzione di costruzione |
public function LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un nuovo oggetto LoaderContext con le impostazioni specificate. Per informazioni più complete su queste impostazioni, vedete le descrizioni delle proprietà di questa classe.
ParametricheckPolicyFile:Boolean (default = false ) — Specifica se è necessario verificare l'esistenza di un file di criteri degli URL prima del caricamento dell'oggetto.
| |
applicationDomain:ApplicationDomain (default = null ) — Specifica l'oggetto ApplicationDomain da utilizzare per un oggetto Loader.
| |
securityDomain:SecurityDomain (default = null ) — Specifica l'oggetto SecurityDomain da utilizzare per un oggetto Loader.
Nota: il contenuto presente nella sandbox di sicurezza dell'applicazione AIR non può caricare contenuto da altre sandbox nel proprio SecurityDomain. |
Elementi API correlati
Tue Jun 12 2018, 02:44 PM Z