Paket | flash.net |
Klasse | public class URLLoader |
Vererbung | URLLoader EventDispatcher Object |
Unterklassen | AVURLLoader |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ein URLLoader-Objekt lädt erst alle Daten von einer URL herunter und macht sie dann für Code in den Anwendungen verfügbar. Das Objekt sendet Benachrichtigungen über den Fortschritt des Download-Vorgangs, den Sie mit den Eigenschaften bytesLoaded
und bytesTotal
und mit ausgelösten Ereignissen verfolgen können.
Wenn sehr große Videodateien wie z. B. FLV-Dateien geladen werden, können Fehler aufgrund von unzureichendem Speicher zurückgegeben werden.
Wenn Sie diese Klasse in Flash Player und in AIR-Anwendungsinhalten in anderen Sicherheitssandboxen als in der Sicherheitssandbox der Anwendung verwenden, sollten Sie folgendes Sicherheitsmodell in Betracht ziehen:
- Eine SWF-Datei innerhalb der lokalen Dateisystem-Sandbox kann keine Daten aus einer Ressource in der Network-Sandbox laden bzw. keine Daten für diese Ressource bereitstellen.
- Standardmäßig müssen die aufrufende SWF-Datei und die von Ihnen geladene URL in genau der gleichen Domäne sein. Eine SWF-Datei unter www.adobe.com kann beispielsweise nur Daten laden, die sich ebenfalls unter www.adobe.com befinden. Legen Sie eine URL-Richtliniendatei auf dem Server ab, der die Daten hostet, um Daten aus einer anderen Domäne zu laden.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
bytesLoaded : uint = 0
Gibt die Anzahl der Byte an, die bereits geladen wurden. | URLLoader | ||
bytesTotal : uint = 0
Gibt die Gesamtanzahl der Byte der heruntergeladenen Daten an. | URLLoader | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
data : *
Die bei dem Ladevorgang empfangenen Daten. | URLLoader | ||
dataFormat : String = "text"
Steuert, ob die heruntergeladenen Daten als Text (URLLoaderDataFormat.TEXT), unformatierte Binärdaten (URLLoaderDataFormat.BINARY) oder URL-kodierte Variablen (URLLoaderDataFormat.VARIABLES) empfangen werden. | URLLoader |
Methode | Definiert von | ||
---|---|---|---|
URLLoader(request:URLRequest = null)
Erstellt ein URLLoader-Objekt. | URLLoader | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void [override]
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | URLLoader | ||
Schließt den laufenden Ladevorgang. | URLLoader | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Sendet und lädt Daten von der angegebenen URL. | URLLoader | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
Wird ausgelöst, nachdem alle empfangenen Daten dekodiert und in der Eigenschaft „data“ des URLLoader-Objekts abgelegt wurden. | URLLoader | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Wird ausgelöst, wenn ein Aufruf der load()-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann. | URLLoader | |||
Wird ausgelöst, wenn ein Aufruf von URLLoader.load() versucht, über HTTP auf Daten zuzugreifen. | URLLoader | |||
Wird ausgelöst, wenn bei einem URLLoader.load()-Aufruf ein schwerwiegender Fehler auftritt und der Download abgebrochen wird. | URLLoader | |||
Wird ausgelöst, wenn der Download-Vorgang nach dem Aufruf der Methode URLLoader.load() gestartet wird. | URLLoader | |||
Wird ausgelöst, wenn während des Download-Vorgangs Daten empfangen werden. | URLLoader | |||
Wird ausgelöst, wenn ein URLLoader.load()-Aufruf versucht, Daten von einem Server außerhalb der Sicherheitssandbox zu laden. | URLLoader |
bytesLoaded | Eigenschaft |
public var bytesLoaded:uint = 0
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Anzahl der Byte an, die bereits geladen wurden.
bytesTotal | Eigenschaft |
public var bytesTotal:uint = 0
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Gesamtanzahl der Byte der heruntergeladenen Daten an. Diese Eigenschaft weist während des Ladevorgangs den Wert 0 auf und wird nach Abschluss des Vorgangs mit dem entsprechenden Wert gefüllt. Ein fehlender Content-Length-Header führt dazu, dass bytesTotal unbestimmt ist.
data | Eigenschaft |
public var data:*
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Die bei dem Ladevorgang empfangenen Daten. Dieser Eigenschaft werden nur dann Werte zugewiesen, wenn der Ladevorgang abgeschlossen wurde. Das Format der Daten hängt von der Einstellung der Eigenschaft dataFormat
ab:
Wenn die Eigenschaft dataFormat
auf URLLoaderDataFormat.TEXT
gesetzt ist, wird ein String empfangen, der den Text aus der geladenen Datei enthält.
Wenn die Eigenschaft dataFormat
auf URLLoaderDataFormat.BINARY
gesetzt ist, werden die Daten als ByteArray-Objekt empfangen, das unformatierte Binärdaten enthält.
Wenn die Eigenschaft dataFormat
auf URLLoaderDataFormat.VARIABLES
gesetzt ist, werden die Daten als URLVariables-Objekt empfangen, das URL-kodierte Variablen enthält.
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
//params.txt is a local file that includes: firstName=Tom&lastName=Jones var lbl:TextField = new TextField(); var urlRequest:URLRequest = new URLRequest("params.txt"); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { lbl.text = urlLoader.data.lastName + "," + urlLoader.data.firstName; addChild(lbl); }
dataFormat | Eigenschaft |
public var dataFormat:String = "text"
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Steuert, ob die heruntergeladenen Daten als Text (URLLoaderDataFormat.TEXT
), unformatierte Binärdaten (URLLoaderDataFormat.BINARY
) oder URL-kodierte Variablen (URLLoaderDataFormat.VARIABLES
) empfangen werden.
Wenn die Eigenschaft dataFormat
den Wert URLLoaderDataFormat.TEXT
aufweist, wird ein String empfangen, der den Text aus der geladenen Datei enthält.
Wenn die Eigenschaft dataFormat
den Wert URLLoaderDataFormat.BINARY
aufweist, werden die Daten als ByteArray-Objekt empfangen, das unformatierte Binärdaten enthält.
Wenn die Eigenschaft dataFormat
den Wert URLLoaderDataFormat.VARIABLES
aufweist, werden die Daten als URLVariables-Objekt empfangen, das URL-kodierte Variablen enthält.
Der Standardwert ist URLLoaderDataFormat.TEXT.
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
var PATH:String = "lorem.txt"; var urlRequest:URLRequest = new URLRequest(PATH); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; // default urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { textArea.text = urlLoader.data; }
URLLoader | () | Konstruktor |
public function URLLoader(request:URLRequest = null)
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Erstellt ein URLLoader-Objekt.
Parameterrequest:URLRequest (default = null ) — Ein URLRequest-Objekt, das die herunterzuladende URL angibt. Ohne diesen Parameter kann der Ladevorgang nicht gestartet werden. Wenn dieser Parameter angegeben wird, beginnt der Ladevorgang unmittelbar (weitere Informationen finden Sie im Abschnitt zu load ).
|
Verwandte API-Elemente
addEventListener | () | Methode |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. Sie können Ereignis-Listener bei allen Knoten in der Anzeigeliste für eine bestimmte Art von Ereignis, Phase oder Priorität registrieren.
Nachdem Sie einen Ereignis-Listener erfolgreich registriert haben, können Sie seine Priorität nicht durch weitere Aufrufe von addEventListener()
ändern. Um die Priorität eines Listeners zu ändern, müssen Sie zunächst removeListener()
aufrufen. Anschließend können Sie den Listener mit der neuen Prioritätsstufe erneut aufrufen.
Nach der Registrierung des Listeners haben nachfolgende Aufrufe von addEventListener()
mit einem anderen type
- oder useCapture
-Wert eine separate Listener-Registrierung zur Folge. Wenn Sie beispielsweise zuerst einen Listener registrieren, für den useCapture
auf true
gesetzt ist, wird dieser nur während der Aufnahmephase aktiv sein. Wenn Sie addEventListener()
für dasselbe Listener-Objekt erneut aufrufen, diesmal aber useCapture
auf false
gesetzt ist, werden zwei separate Listener angelegt: einer, der während der Aufnahmephase aktiv ist und ein zweiter, der während der Ziel- und Bubbling-Phase aktiv ist.
Sie können einen Ereignis-Listener nicht nur für die Ziel- oder Bubbling-Phase registrieren. Die beiden Phasen hängen während der Registrierung immer zusammen, da Bubbling nur für übergeordnete Elemente des Zielknotens gilt.
Wenn Sie einen Ereignis-Listener nicht mehr brauchen, entfernen sie ihn, indem Sie removeEventListener()
aufrufen. Andernfalls könnte es zu Speicherproblemen kommen. Ereignis-Listener werden nicht automatisch aus dem Speicher entfernt, da der Garbage Collector den Listener nicht entfernt, solange das auslösende Objekt vorhanden ist (sofern der useWeakReference
-Parameter auf true
gesetzt ist).
Beim Kopieren einer EventDispatcher-Instanz werden zugewiesene Ereignis-Listener nicht kopiert. (Wenn ein neu angelegter Knoten einen Ereignis-Listener benötigt, müssen Sie den Listener nach dem Erstellen des Knotens zuweisen.) Wenn Sie jedoch eine EventDispatcher-Instanz verschieben, werden zugewiesene Ereignis-Listener ebenfalls verschoben.
Wenn der Ereignis-Listener bei einem Knoten registriert wird, während mit diesem Knoten ein Ereignis durchgeführt wird, so wird der Ereignis-Listener während der aktuellen Phase nicht ausgelöst, kann aber während einer späteren Phase im Ereignisablauf ausgelöst werden, etwa während der Bubbling-Phase.
Wird ein Ereignis-Listener von einem Knoten entfernt, während mit dem Knoten ein Ereignis durchgeführt wird, so wird er von den aktuellen Aktionen immer noch ausgelöst. Nachdem er entfernt worden ist, wird der Ereignis-Listener nicht wieder aufgerufen (es sei denn er wird für spätere Verarbeitungsvorgänge erneut aufgerufen).
Parameter
type:String — Der Ereignistyp.
| |
listener:Function — Die Listener-Funktion, die das Ereignis verarbeitet. Diese Funktion muss ein Ereignisobjekt als einzigen Parameter akzeptieren und darf keinen Wert zurückgeben, wie das nachfolgende Beispiel zeigt:
function(evt:Event):void Der Name der Funktion ist beliebig. | |
useCapture:Boolean (default = false ) —
Bestimmt, ob der Listener in der Erfassungsphase oder in der Ziel- und Bubbling-Phase arbeitet. Ist useCapture auf true gesetzt, so verarbeitet der Listener das Ereignis nur während der Erfassungsphase und nicht während der Ziel- oder Bubbling-Phase. Hat useCapture hingegen den Wert false , verarbeitet der Listener das Ereignis nur während der Ziel- oder Bubbling-Phase. Um auf das Ereignis in allen drei Phasen zu warten, rufen Sie addEventListener() zweimal auf; einmal ist useCapture auf true gesetzt, und beim zweiten Mal hat useCapture den Wert false .
| |
priority:int (default = 0 ) — Die Prioritätsstufe des Ereignis-Listeners. Die Priorität wird durch eine vorzeichenbehaftete 32-Bit-Ganzzahl zugewiesen. Je höher die Zahl, desto höher die Priorität. Alle Listener mit der Priorität n werden vor Listenern mit der Priorität n -1 verarbeitet. Wenn zwei oder mehr Listener die gleiche Priorität aufweisen, werden sie in der Reihenfolge verarbeitet, in der sie hinzugefügt wurden. Die Standardpriorität ist 0.
| |
useWeakReference:Boolean (default = false ) — Bestimmt, ob der Verweis auf den Listener stark oder schwach ist. Ein starker Verweis (der Standard) verhindert, dass der Listener von einem Garbage Collector entfernt wird. Ein schwacher Verweis hingegen nicht. Funktionen von Mitgliedern auf Klassenebene werden nicht vom Garbagekollektor entfernt. Daher können Sie |
close | () | Methode |
public function close():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schließt den laufenden Ladevorgang. Alle laufenden Ladevorgänge werden sofort beendet. Wenn kein URL-Stream ausgeführt wird, wird ein Fehler ausgegeben.
load | () | Methode |
public function load(request:URLRequest):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Sendet und lädt Daten von der angegebenen URL. Die Daten können als Text, unformatierte Binärdaten oder URL-kodierte Variablen empfangen werden, je nachdem, welchen Wert Sie für die Eigenschaft dataFormat
festlegen. Beachten Sie, dass „Text“ der Standardwert der Eigenschaft dataFormat
ist. Wenn Sie Daten an die angegebene URL senden möchten, können Sie die Eigenschaft data
im URLRequest-Objekt festlegen.
Hinweis: Enthält eine geladene Datei Nicht-ASCII-Zeichen (wie z. B. in vielen Sprachen außerhalb des englischen Sprachraums), wird empfohlen, dass Sie die Datei im Format UTF-8 oder UTF-16 und nicht in einem Unicode-fremden Format (z. B. ASCII) speichern.
Eine SWF-Datei innerhalb der lokalen Dateisystem-Sandbox kann keine Daten aus einer Ressource in der Network-Sandbox laden bzw. keine Daten für diese Ressource bereitstellen.
Standardmäßig müssen die aufrufende SWF-Datei und die von Ihnen geladene URL in genau der gleichen Domäne sein. Eine SWF-Datei unter www.adobe.com kann beispielsweise nur Daten laden, die sich ebenfalls unter www.adobe.com befinden. Legen Sie eine URL-Richtliniendatei auf dem Server ab, der die Daten hostet, um Daten aus einer anderen Domäne zu laden.
Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
Wenn Sie in Flash Player 10 oder höher einen Multipart-Content-Type verwenden (z. B. „multipart/form-data“), der einen Upload enthält (gekennzeichnet durch einen „filename“-Parameter in einem „content-disposition“-Header innerhalb des POST-Body), so unterliegt die POST-Methode den Sicherheitsregeln für Uploads:
- Der POST-Vorgang muss als Reaktion auf eine durch den Benutzer initiierte Aktion, z. B. Mausklick oder Tastendruck, erfolgen.
- Ist die POST-Methode domänenübergreifend (das POST-Ziel befindet sich auf einem anderen Server als die SWF-Datei, die die POST-Anforderung sendet), so muss der Zielserver eine URL-Richtliniendatei bereitstellen, die den domänenübergreifenden Zugriff erlaubt.
Für alle mehrteiligen Content-Typen muss ebenfalls die Syntax nach Standard RFC2046 gültig sein. Scheint die Syntax ungültig zu sein, so unterliegt die POST-Methode den Sicherheitsregeln für Uploads.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
Parameter
request:URLRequest — Ein URLRequest-Objekt, das die herunterzuladende URL angibt.
|
Ereignisse
complete: — Wird nach dem erfolgreichen Laden von Daten ausgelöst.
| |
httpStatus: — Wenn der Zugriff über HTTP erfolgt und die aktuelle Flash Player-Umgebung den Empfang von Statuscodes unterstützt, werden diese Ereignisse möglicherweise zusätzlich zu allen complete - oder error Ereignissen empfangen.
| |
ioError: — Der Ladevorgang konnte nicht abgeschlossen werden.
| |
progress: — Wird ausgelöst, wenn während des Download-Vorgangs Daten empfangen werden.
| |
securityError: — Bei einem Ladevorgang wurde versucht, Daten von einem Server außerhalb der Sicherheitssandbox der aufrufenden Funktion abzurufen. Sie können dies umgehen, indem Sie eine Richtliniendatei auf dem Server verwenden.
| |
securityError: — Ein Ladevorgang versuchte, eine SWZ-Datei (Adobe-Plattformkomponente) zu laden, aber das Zertifikat ist entweder ungültig oder der Digest stimmt nicht mit der Komponente überein.
| |
open: — Wird beim Start eines Ladevorgangs ausgelöst.
| |
httpResponseStatus: — Wird ausgelöst, wenn ein Aufruf der load() -Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.
|
Auslöser
ArgumentError — Bestimmte nicht zulässige HTTP-Anforderungsheader sind möglicherweise in URLRequest.requestHeader -Objekten nicht enthalten. Weitere Informationen finden Sie in der Beschreibung der URLRequestHeader-Klasse.
| |
MemoryError — Dieser Fehler kann folgende Ursachen haben: 1) Flash Player oder AIR kann den URLRequest.data -Parameter nicht von UTF8 in MBCS konvertieren. Dieser Fehler trifft zu, wenn das an load() übergebene URLRequest-Objekt auf die Ausführung eines GET -Vorgangs eingestellt ist und wenn System.useCodePage auf true gesetzt ist. 2) Flash Player oder AIR kann POST keinen Speicher zuweisen. Dieser Fehler trifft zu, wenn das an load übergebene URLRequest-Objekt auf die Ausführung eines POST -Vorgangs eingestellt ist.
| |
SecurityError — Über lokale nicht vertrauenswürdige Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können dies umgehen, indem Sie die entsprechende Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren.
| |
SecurityError — Sie versuchen, eine Verbindung mit einem normalerweise reservierten Port herzustellen. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
| |
TypeError — Der Wert des request-Parameters oder der Eigenschaft URLRequest.url des übergebenen URLRequest-Objekts ist null .
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
Es wird ein URLRequest
-Objekt erstellt, um den Speicherort der XML-Datei anzugeben, die sich in diesem Beispiel im selben Verzeichnis wie die SWF-Datei befindet. Die Datei wird in einen try...catch
-Block geladen, um Fehler abzufangen, die möglicherweise auftreten. (Hier werden SecurityError
-Fehler abgefangen.) Wenn ein IO_ERROR
-Ereignis eintritt, wird die errorHandler()
-Methode aufgerufen, die eine Fehlermeldung in das Textfeld xmlTextField
schreibt. Nachdem die Daten aus der XML-Datei empfangen wurden und in der data-Eigenschaft des URLLoader-Objekts loader
platziert wurden, wird das Event.COMPLETE
-Ereignis ausgelöst, und die loaderCompleteHandler()
-Methode wird aufgerufen.
In der loaderCompleteHandler()
-Methode wird ein try...catch
-Block verwendet, um ggf. Parsingfehler, die beim Konvertieren der geladenen Daten aus der Datei in ein XML-Objekt auftreten, abzufangen. Die readNodes()
-Methode geht rekursiv durch alle Elemente in den Knoten des XML-Dokuments und hängt das Textfeld xmlTextField
mit einer Liste der ersten Attribute aller Elemente an.
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 | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.COMPLETE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, nachdem alle empfangenen Daten dekodiert und in der Eigenschaft „data“ des URLLoader-Objekts abgelegt wurden. Nach der Auslösung dieses Ereignisses können Sie auf die empfangenen Daten zugreifen.
DieEvent.COMPLETE
-Konstante definiert den Wert der type
-Eigenschaft eines complete
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Netzwerkobjekt, dessen Ladevorgang beendet ist. |
Verwandte API-Elemente
httpResponseStatus | Ereignis |
flash.events.HTTPStatusEvent
Eigenschaft HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, AIR 1.0, Flash Lite 4 |
Wird ausgelöst, wenn ein Aufruf der load()-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.
Anders als dashttpStatus
-Ereignis wird das httpResponseStatus
-Ereignis ausgelöst, bevor Antwortdaten vorliegen. Außerdem enthält das httpResponseStatus
-Ereignis Werte für die Eigenschaften responseHeaders
und responseURL
(die für ein httpStatus
-Ereignis nicht definiert sind). Beachten Sie, dass das Ereignis httpResponseStatus
(falls vorhanden) vor (und zusätzlich zu) jedem complete
- oder error
-Ereignis gesendet wird.
Die HTTPStatusEvent.HTTP_RESPONSE_STATUS
-Konstante definiert den Wert der type
-Eigenschaft eines httpResponseStatus
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
responseURL | Die URL, von der die Antwort zurückgegeben wurde. |
responseHeaders | Die Antwortheader, die die Antwort zurückgegeben hat, als Array von URLRequestHeader-Objekten. |
status | Der vom Server zurückgegebene HTTP-Statuscode. |
redirected | Gibt an, ob die Antwort das Ergebnis einer Weiterleitung ist. |
target | Das Netzwerkobjekt, das den HTTP-Statuscode empfängt. |
Verwandte API-Elemente
httpStatus | Ereignis |
flash.events.HTTPStatusEvent
Eigenschaft HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn ein Aufruf von URLLoader.load() versucht, über HTTP auf Daten zuzugreifen. Bei Inhalt, der in Flash Player ausgeführt wird, wird dieses Ereignis nur ausgelöst, wenn die aktuelle Flash Player-Umgebung den Statuscode für die Anforderung erkennen und zurückgeben kann. (Diese Informationen können in einigen Browser-Umgebungen möglicherweise nicht bereitgestellt werden.) Beachten Sie, dass das Ereignis httpStatus
(falls vorhanden) vor (und zusätzlich zu) jedem complete
- oder error
-Ereignis gesendet wird.
HTTPStatusEvent.HTTP_STATUS
-Konstante definiert den Wert der type
-Eigenschaft eines httpStatus
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
status | Der vom Server zurückgegebene HTTP-Statuscode. |
target | Das Netzwerkobjekt, das den HTTP-Statuscode empfängt. |
Verwandte API-Elemente
ioError | Ereignis |
flash.events.IOErrorEvent
Eigenschaft IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn bei einem URLLoader.load()-Aufruf ein schwerwiegender Fehler auftritt und der Download abgebrochen wird.
Definiert den Wert der Eigenschafttype
eines ioError
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
errorID | Die Referenznummer des spezifischen Fehlers (nur AIR). |
target | Das Netzwerkobjekt, bei dem der Eingabe/Ausgabe-Fehler auftritt. |
text | Der als Fehlermeldung anzuzeigende Text. |
Verwandte API-Elemente
open | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.OPEN
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn der Download-Vorgang nach dem Aufruf der Methode URLLoader.load()
gestartet wird.
Event.OPEN
-Konstante definiert den Wert der type
-Eigenschaft eines open
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Netzwerkobjekt, über das eine Verbindung geöffnet wurde. |
Verwandte API-Elemente
progress | Ereignis |
flash.events.ProgressEvent
Eigenschaft ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn während des Download-Vorgangs Daten empfangen werden.
Beachten Sie, dass Sie bei Verwendung eines URLLoader-Objekts erst dann auf die Daten zugreifen können, wenn der Ladevorgang abgeschlossen ist. In diesem Fall dient das progress-Ereignis lediglich zur Benachrichtigung über den Fortschritt des Download-Vorgangs. Verwenden Sie ein URLStream-Objekt, um vor Abschluss des Ladevorgangs auf die Daten zuzugreifen.
Definiert den Wert der Eigenschafttype
eines progress
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
bytesLoaded | Die Anzahl der geladenen Elemente oder Byte zu dem Zeitpunkt, zu dem der Listener das Ereignis verarbeitet. |
bytesTotal | Die Gesamtanzahl der Elemente oder Byte, die bei einem erfolgreichen Ladevorgang schließlich geladen werden. |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Objekt, dessen Fortschritt protokolliert wird. |
Verwandte API-Elemente
securityError | Ereignis |
flash.events.SecurityErrorEvent
Eigenschaft SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn ein URLLoader.load()-Aufruf versucht, Daten von einem Server außerhalb der Sicherheitssandbox zu laden. Wird auch aufgelöst, wenn bei einem URLLoader.load()
-Aufruf versucht wird, eine SWZ-Datei zu laden und das Zertifikat ungültig ist oder der Digest-String nicht mit der Komponente übereinstimmt.
SecurityErrorEvent.SECURITY_ERROR
definiert den Wert der type
-Eigenschaft eines securityError
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Netzwerkobjekt, das den Sicherheitsfehler ausgibt. |
text | Der als Fehlermeldung anzuzeigende Text. |
Verwandte API-Elemente
Hinweis: Legen Sie zur Ausführung des Beispiels eine Datei mit dem Namen „urlLoaderExample.txt“ in dem Verzeichnis ab, in dem sich die SWF-Datei befindet. Diese Datei darf nur die folgende Textzeile enthalten: answer=42&question=unknown
Der Beispielcode führt folgende Schritte aus:
- Die Konstruktorfunktion erstellt eine URLLoader-Instanz mit dem Namen
loader
und eine URLRequest-Instanz mit dem Namenrequest
, wobei es sich um den Standort und den Namen der zu ladenden Datei handelt. - Das Objekt
loader
wird an die MethodeconfigureListeners()
übergeben, die für jedes unterstützte URLLoader-Ereignis Listener hinzufügt. - Dann wird das Objekt
request
an die Methodeloader.load()
übergeben, die die Textdatei lädt. - Nach Abschluss des Ladevorgangs wird das
Event.COMPLETE
-Ereignis ausgelöst, das wiederum die MethodecompleteHandler()
auslöst. Die MethodecompleteHandler()
erstellt ein URLVariables-Objekt aus dem aus der Datei geladenen Text. Das URLVariables-Objekt konvertiert URL-kodierte Name/Wert-Paare in ActionScript-Eigenschaften, um die Bearbeitung der geladenen Daten zu vereinfachen.
package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLLoaderExample extends Sprite { private loader:URLoader; public function URLLoaderExample() { loader = 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); } } }
Tue Jun 12 2018, 10:04 AM Z