| Pacchetto | flash.net |
| Classe | public class URLLoader |
| Ereditarietà | URLLoader EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Un oggetto URLLoader scarica tutti i dati da un URL prima di renderli disponibili per ActionScript. Invia delle notifiche relative all'avanzamento dello scaricamento, che è possibile monitorare mediante le proprietà bytesLoaded e bytesTotal, oltre che mediante gli eventi inviati.
Quando si utilizza questo metodo, considerare il modello di sicurezza di Adobe® Flash® Player:
Per Flash Player 8 e versioni successive:
Per Flash Player 7 e versioni successive:
url deve trovarsi esattamente nello stesso dominio. Ad esempio, un file SWF sul sito www.adobe.com può caricare i dati solo dalle origini presenti in www.adobe.com.Per ulteriori informazioni, vedere i seguenti riferimenti:
Nei file SWF in esecuzione su una versione di Flash Player precedente alla 7, url deve trovarsi nello stesso superdominio del file SWF che effettua la chiamata. Per identificare il superdominio, rimuovere la parte più a sinistra dell'URL di un file. Ad esempio, un file SWF all'indirizzo www.adobe.com può scaricare i dati da origini presenti in store.adobe.com poiché entrambi i file si trovano nello stesso superdominio di nome adobe.com.
Vedere anche
| Proprietà | Definito da | ||
|---|---|---|---|
| bytesLoaded: uint = 0
Indica il numero di byte che sono stati caricati fino a quel momento durante l'operazione di caricamento.
| URLLoader | ||
| bytesTotal: uint = 0
Indica il numero totale di byte dei dati scaricati.
| URLLoader | ||
![]() | constructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
| Object | |
| data: *
I dati ricevuti dall'operazione di caricamento.
| URLLoader | ||
| dataFormat: String = "text"
Controlla se i dati scaricati vengono ricevuti sotto forma di testo (URLLoaderDataFormat.TEXT), dati binari originari (URLLoaderDataFormat.BINARY) o variabili con codifica URL (URLLoaderDataFormat.VARIABLES).
| URLLoader | ||
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| Metodo | Definito da | ||
|---|---|---|---|
|
URLLoader(request:URLRequest = null)
Crea un oggetto URLLoader.
| URLLoader | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
| EventDispatcher | |
|
Chiude l'operazione di caricamento in corso.
| URLLoader | ||
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
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 | |
|
Invia e carica i dati da un URL specificato.
| URLLoader | ||
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
| Object | |
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| Evento | Riepilogo | Definito da | ||
|---|---|---|---|---|
![]() | Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo. | EventDispatcher | ||
| Inviato dopo che tutti i dati ricevuti sono stati decodificati e collocati nella proprietà data dell'oggetto URLLoader. | URLLoader | |||
![]() | Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo. | EventDispatcher | ||
| Inviato se una chiamata a URLLoader.load() tenta di accedere ai dati via HTTP e l'ambiente Flash Player corrente è in grado di rilevare e restituire il codice di stato della richiesta. | URLLoader | |||
| Inviato se una chiamata a URLLoader.load() produce un errore irreversibile che interrompe lo scaricamento. | URLLoader | |||
| Inviato quando l'operazione di scaricamento inizia in seguito a una chiamata al metodo URLLoader.load(). | URLLoader | |||
| Inviato quando vengono ricevuti i dati mentre è in corso l'operazione di scaricamento. | URLLoader | |||
| Inviato se una chiamata al metodo URLLoader.load() tenta di caricare dati da un server al di fuori della funzione di sicurezza sandbox. | URLLoader | |||
| bytesLoaded | proprietà |
public var bytesLoaded:uint = 0
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Indica il numero di byte che sono stati caricati fino a quel momento durante l'operazione di caricamento.
| bytesTotal | proprietà |
public var bytesTotal:uint = 0
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Indica il numero totale di byte dei dati scaricati. Questa proprietà contiene 0 mentre l'operazione di caricamento è in corso e viene compilata al termine dell'operazione. Inoltre, un'intestazione Content-Length mancante causa l'indeterminazione di bytesTotal.
| data | proprietà |
public var data:*
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
I dati ricevuti dall'operazione di caricamento. Questa proprietà viene compilata solo quando l'operazione di caricamento è stata completata. Il formato dei dati dipende dall'impostazione della proprietà dataFormat:
Se la proprietà dataFormat è URLLoaderDataFormat.TEXT, i dati ricevuti sono costituiti da una stringa che contiene il testo del file caricato.
Se la proprietà dataFormat è URLLoaderDataFormat.BINARY, i dati ricevuti sono costituiti da un oggetto ByteArray che contiene i dati binari originari.
Se la proprietà dataFormat è URLLoaderDataFormat.VARIABLES, i dati ricevuti sono costituiti da un oggetto URLVariables che contiene le variabili con codifica URL.
Vedere anche
| dataFormat | proprietà |
public var dataFormat:String = "text"
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Controlla se i dati scaricati vengono ricevuti sotto forma di testo (URLLoaderDataFormat.TEXT), dati binari originari (URLLoaderDataFormat.BINARY) o variabili con codifica URL (URLLoaderDataFormat.VARIABLES).
Se il valore della proprietà dataFormat è URLLoaderDataFormat.TEXT, i dati ricevuti sono costituiti da una stringa che contiene il testo del file caricato.
Se il valore della proprietà dataFormat è URLLoaderDataFormat.BINARY, i dati ricevuti sono costituiti da un oggetto ByteArray che contiene i dati binari originari.
Se il valore della proprietà dataFormat è URLLoaderDataFormat.VARIABLES, i dati ricevuti sono costituiti da un oggetto URLVariables che contiene le variabili con codifica URL.
Il valore predefinito è URLLoaderDataFormat.TEXT.
Vedere anche
| URLLoader | () | Funzione di costruzione |
public function URLLoader(request:URLRequest = null)
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Crea un oggetto URLLoader.
Parametrirequest:URLRequest (default = null) — Un oggetto URLRequest che specifica l'URL da scaricare. Se questo parametro viene omesso, non inizia alcuna operazione di caricamento. Se specificato, l'operazione di caricamento inizia immediatamente (per ulteriori informazioni, vedere la voce load).
|
Vedere anche
| close | () | metodo |
public function close():void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Chiude l'operazione di caricamento in corso. Tutte le operazioni di caricamento in corso vengono immediatamente terminate. Se al momento non è in corso lo streaming di un URL, viene generato un errore di streaming non valido.
| load | () | metodo |
public function load(request:URLRequest):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Invia e carica i dati da un URL specificato. I dati possono essere ricevuti sotto forma di testo, dati binari originari o variabili con codifica URL, a seconda del valore che è stato impostato per la proprietà dataFormat. Il valore predefinito per la proprietà dataFormat è text. Per inviare dati all'URL specificato, è possibile impostare la proprietà data nell'oggetto URLRequest.
Nota: se un file caricato contiene caratteri non ASCII come in molte lingue diverse dall'inglese, si consiglia di salvare il file con una codifica UTF-8 o UTF-16, in contrapposizione a un formato non codificato con Unicode come ASCII.
Quando si utilizza questo metodo, considerare il modello di sicurezza di Flash Player:
Per Flash Player 9 e versioni successive, è possibile impedire a un file SWF di utilizzare questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML in cui è presente il contenuto SWF.
Per Flash Player 8 e versioni successive:
Per Flash Player 7 e versioni successive l'accesso a una risorsa sui siti Web è consentito mediante un file dei criteri per i domini. Nei file SWF di qualunque versione eseguita in Flash Player 7 e versioni successive, url deve trovarsi esattamente nello stesso dominio. Ad esempio, un file SWF sul sito www.adobe.com può caricare i dati solo dalle origini presenti in www.adobe.com.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Nei file SWF in esecuzione su una versione di Flash Player precedente alla 7, url deve trovarsi nello stesso superdominio del file SWF che effettua la chiamata. Per identificare il superdominio, rimuovere la parte più a sinistra dell'URL di un file. Ad esempio, un file SWF all'indirizzo www.adobe.com può scaricare i dati da origini presenti in store.adobe.com poiché entrambi i file si trovano nello stesso superdominio di adobe.com.
Parametri
request:URLRequest — Un oggetto URLRequest che specifica l'URL da scaricare.
|
complete: — Inviato dopo che i dati sono stati caricati correttamente. |
|
httpStatus: — Se l'accesso avviene via HTTP e l'ambiente Flash Player corrente supporta l'ottenimento di codici di stato, è possibile ricevere questi eventi in aggiunta all'evento complete o error. |
|
ioError: — Impossibile completare l'operazione di caricamento. |
|
progress: — Inviato quando vengono ricevuti i dati mentre è in corso l'operazione di scaricamento. |
|
securityError: — Un'operazione di caricamento ha tentato di recuperare dati da un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante. Questo inconveniente può essere risolto utilizzando un file dei criteri sul server. |
|
open: — Inviato quando inizia un'operazione di caricamento. |
ArgumentError — Gli oggetti URLRequest.requestHeader potrebbero non contenere determinate intestazioni di richiesta HTTP proibite. Per ulteriori informazioni, vedere la descrizione della classe URLRequestHeader.
|
|
MemoryError — Questo errore può verificarsi per i seguenti motivi: 1) Flash Player non è in grado di convertire il parametro URLRequest.data da UTF8 a MBCS. Questo errore è applicabile se l'oggetto URLRequest passato a load() è impostato per eseguire un'operazione GET e se System.useCodePage è impostato su true. 2) Flash Player non è in grado di allocare memoria per i dati POST. Questo errore è applicabile se l'oggetto URLRequest passato a load è impostato per eseguire un'operazione POST.
|
|
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questo inconveniente può essere risolto riclassificando il file SWF come file locale con utilizzo in rete o come attendibile.
|
|
TypeError — Il valore del parametro request o della proprietà URLRequest.url dell'oggetto URLRequest passato è null.
|
Vedere anche
Per identificare la posizione del file XML che, in questo esempio, si trova nella stessa directory del file SWF, viene creato un oggetto URLRequest. Il file viene caricato in un blocco try...catch per individuare eventuali errori che potrebbero verificarsi (in questo caso vengono trovati degli errori di tipo SecurityError). Se si verifica un evento IO_ERROR, viene richiamato il metodo errorHandler() il quale scrive un messaggio di errore nel campo di testo xmlTextField. Quando i dati del file XML vengono ricevuti e situati nella proprietà dei dati dell'oggetto loader URLLoader, viene inviato l'evento Event.COMPLETE e viene richiamato il metodo loaderCompleteHandler().
Nel metodo loaderCompleteHandler() viene utilizzato un blocco try...catch in modo da rilevare qualsiasi errore di analisi verificatosi nel corso della conversione dei dati caricati dal file in un oggetto XML. Il metodo readNodes() quindi analizza in modo ricorsivo tutti gli elementi presenti nei nodi del documento XML e allega il campo di testo xmlTextField contenente l'elenco dei primi attributi di tutti gli elementi.
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.xml.*;
import flash.events.IOErrorEvent;
public class URLLoader_loadExample extends Sprite {
private var xmlTextField:TextField = new TextField();
private var externalXML:XML;
private var loader:URLLoader;
public function URLLoader_loadExample() {
var request:URLRequest = new URLRequest("xmlFile.xml");
loader = new URLLoader();
try {
loader.load(request);
}
catch (error:SecurityError)
{
trace("A SecurityError has occurred.");
}
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
xmlTextField.x = 10;
xmlTextField.y = 10;
xmlTextField.background = true;
xmlTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(xmlTextField);
}
private function loaderCompleteHandler(event:Event):void {
try {
externalXML = new XML(loader.data);
readNodes(externalXML);
} catch (e:TypeError) {
trace("Could not parse the XML file.");
}
}
private function readNodes(node:XML):void {
for each (var element:XML in node.elements()) {
xmlTextField.appendText(element.attributes()[0] + "\n");
readNodes(element);
}
}
private function errorHandler(e:IOErrorEvent):void {
xmlTextField.text = "Had problem loading the XML File.";
}
}
}
| complete | Evento |
flash.events.Event
flash.events.Event.COMPLETE
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato dopo che tutti i dati ricevuti sono stati decodificati e collocati nella proprietà data dell'oggetto URLLoader. È possibile accedere ai dati ricevuti solo quando questo evento è stato inviato.
type di un oggetto evento complete.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che ha completato il caricamento. |
Vedere anche
| httpStatus | Evento |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato se una chiamata a URLLoader.load() tenta di accedere ai dati via HTTP e l'ambiente Flash Player corrente è in grado di rilevare e restituire il codice di stato della richiesta. (Alcuni ambienti browser potrebbero non essere in grado di fornire queste informazioni). L'evento httpStatus (se presente) viene inviato prima di (e in aggiunta a) qualsiasi evento complete o error.
type di un oggetto evento httpStatus.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
status | Il codice di stato HTTP restituito dal server. |
target | L'oggetto di rete che riceve un codice di stato HTTP. |
Vedere anche
| ioError | Evento |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato se una chiamata a URLLoader.load() produce un errore fatale che termina lo scaricamento.
type di un oggetto evento ioError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete interessato dall'errore di input/output. |
text | Testo da visualizzare come messaggio di errore. |
Vedere anche
| open | Evento |
flash.events.Event
flash.events.Event.OPEN
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando l'operazione di scaricamento inizia in seguito a una chiamata al metodo URLLoader.load().
type di un oggetto evento open.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che ha aperto una connessione. |
Vedere anche
| progress | Evento |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando vengono ricevuti i dati mentre è in corso l'operazione di scaricamento.
Con un oggetto URLLoader non è possibile accedere ai dati fino a quando i dati non sono stati completamente ricevuti. Pertanto, l'evento di avanzamento funge solo da notifica dell'avanzamento dello scaricamento. Per accedere ai dati prima di averli completamente scaricati, utilizzare un oggetto URLStream.
Definisce il valore della proprietàtype di un oggetto evento progress.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
bytesLoaded | Il numero di elementi o di byte caricati nel momento in cui il listener elabora l'evento. |
bytesTotal | Il numero totale di elementi o byte che vengono caricati se il processo di caricamento viene completato correttamente. |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che riporta l'avanzamento. |
Vedere anche
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato se una chiamata al metodo URLLoader.load() tenta di caricare dati da un server al di fuori della funzione di sicurezza sandbox.
SecurityErrorEvent.SECURITY_ERROR definisce il valore della proprietà type di un oggetto evento securityError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che riporta l'errore di sicurezza. |
text | Testo da visualizzare come messaggio di errore. |
Vedere anche
Nota: per provare l'esempio, collocare un file denominato urlLoaderExample.txt nella stessa directory del file SWF. Il file deve contenere solo la riga di testo seguente: answer=42&question=unknown
Il codice di esempio esegue le seguenti operazioni:
loader e un'istanza URLRequest di nome request, che contiene la posizione e il nome del file da caricare.loader viene passato al metodo configureListeners() che aggiunge i listener per ognuno degli eventi URLLoader supportati.request viene passato a loader.load(), che carica il file di testo.Event.COMPLETE, che a sua volta attiva il metodo completeHandler(). Il metodo completeHandler() crea un oggetto URLVariables dal testo caricato dal file. L'oggetto URLVariables converte le coppie nome/valore con codifica URL in proprietà ActionScript per facilitare la gestione dei dati caricati.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
public class URLLoaderExample extends Sprite {
public function URLLoaderExample() {
var loader:URLLoader = new URLLoader();
configureListeners(loader);
var request:URLRequest = new URLRequest("urlLoaderExample.txt");
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
var vars:URLVariables = new URLVariables(loader.data);
trace("The answer is " + vars.answer);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
}
}
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/net/URLLoader.html