| Paquete | flash.net |
| Clase | public class URLLoader |
| Herencia | URLLoader EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Un objeto URLLoader descarga todos los datos de una URL antes de ponerla a disposición de ActionScript. Envía notificaciones sobre el progreso de la descarga que se pueden supervisar mediante las propiedades bytesLoaded y bytesTotal, así como a través de los eventos distribuidos.
Cuando utilice este método, puede ser conveniente usar el modelo de seguridad de Adobe® Flash® Player:
Flash Player 8 y versiones anteriores:
Flash Player 7 y versiones anteriores:
url debe estar exactamente en el mismo dominio. Por ejemplo, un archivo SWF de www.adobe.com puede cargar datos únicamente de orígenes que estén también en www.adobe.com.Para más información, consulte las siguientes secciones:
En archivos SWF que se ejecuten en una versión del reproductor anterior a Flash Player 7, url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada. El superdominio se obtiene al eliminar el componente más a la izquierda de la URL de un archivo. Por ejemplo, un archivo SWF situado en www.adobe.com puede cargar datos de fuentes situadas en store.adobe.com porque ambos archivos se encuentran en el mismo superdominio, denominado adobe.com.
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
| bytesLoaded : uint = 0
Indica el número de bytes cargados hasta ese momento durante la operación de carga.
| URLLoader | ||
| bytesTotal : uint = 0
Indica el número total de bytes de los datos descargados.
| URLLoader | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| data : *
Los datos recibidos de la operación de carga.
| URLLoader | ||
| dataFormat : String = "text"
Controla si los datos cargados se reciben como texto (URLLoaderDataFormat.TEXT), como datos binarios sin formato (URLLoaderDataFormat.BINARY) o como variables con codificación URL (URLLoaderDataFormat.VARIABLES).
| URLLoader | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| Método | Definido por | ||
|---|---|---|---|
|
URLLoader(request:URLRequest = null)
Crea un objeto URLLoader.
| URLLoader | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
| EventDispatcher | |
|
Cierra la operación de carga en curso.
| URLLoader | ||
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
![]() |
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
| EventDispatcher | |
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
|
Envía y carga datos desde la URL especificada.
| URLLoader | ||
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
![]() |
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
| EventDispatcher | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
| Se distribuye tras decodificar y colocar todos los datos recibidos en la propiedad data del objeto URLLoader. | URLLoader | |||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye si una llamada a URLLoader.load() intenta acceder a datos sobre HTTP y si el entorno de Flash Player actual puede detectar y devolver el código de estado para la solicitud. | URLLoader | |||
| Se distribuye si el resultado de una llamada a URLLoader.load() es un error grave que hace que la descarga finalice. | URLLoader | |||
| Se distribuye cuando se inicia la operación de descarga tras una llamada al método URLLoader.load(). | URLLoader | |||
| Se distribuye al recibirse datos mientras progresa una operación de descarga. | URLLoader | |||
| Se distribuye si se intenta llamar a URLLoader.load() para cargar datos de un servidor situado fuera del entorno limitado de seguridad. | URLLoader | |||
| bytesLoaded | propiedad |
public var bytesLoaded:uint = 0
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Indica el número de bytes cargados hasta ese momento durante la operación de carga.
| bytesTotal | propiedad |
public var bytesTotal:uint = 0
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Indica el número total de bytes de los datos descargados. Esta propiedad contiene 0 si la operación de carga está en curso y se llena cuando la operación ha finalizado. Asimismo, un encabezado Content-Length que falte dará como resultado que bytesTotal sea indeterminado.
| data | propiedad |
public var data:*
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Los datos recibidos de la operación de carga. Esta propiedad se llena únicamente al finalizar la operación de carga. El formato de los datos depende del establecimiento de la propiedad dataFormat:
Si la propiedad dataFormat es URLLoaderDataFormat.TEXT, los datos recibidos son una cadena con el texto del archivo cargado.
Si la propiedad dataFormat es URLLoaderDataFormat.BINARY, los datos recibidos son un objeto ByteArray con los datos binarios sin formato.
Si la propiedad dataFormat es URLLoaderDataFormat.VARIABLES, los datos recibidos son un objeto URLVariables con las variables con codificación URL.
Véase también
| dataFormat | propiedad |
public var dataFormat:String = "text"
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Controla si los datos cargados se reciben como texto (URLLoaderDataFormat.TEXT), como datos binarios sin formato (URLLoaderDataFormat.BINARY) o como variables con codificación URL (URLLoaderDataFormat.VARIABLES).
Si el valor de la propiedad dataFormat es URLLoaderDataFormat.TEXT, los datos recibidos son una cadena con el texto del archivo cargado.
Si el valor de la propiedad dataFormat es URLLoaderDataFormat.BINARY, los datos recibidos son un objeto ByteArray con los datos binarios sin formato.
Si el valor de la propiedad dataFormat es URLLoaderDataFormat.VARIABLES, los datos recibidos son un objeto URLVariables con las variables con codificación URL.
El valor predeterminado es URLLoaderDataFormat.TEXT.
Véase también
| URLLoader | () | constructor |
public function URLLoader(request:URLRequest = null)
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea un objeto URLLoader.
Parámetrosrequest:URLRequest (default = null) — Un objeto URLRequest que especifica la URL que se va a descargar. Si se omite este parámetro, no se inicia ninguna operación de carga. Si se especifica, la operación de carga se inicia inmediatamente (consulte la entrada load para obtener más información).
|
Véase también
| close | () | método |
public function close():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Cierra la operación de carga en curso. Se detendrá inmediatamente cualquier operación de carga en curso. Si no se transmite ninguna URL en ese momento, se emitirá un error de transmisión no válida.
| load | () | método |
public function load(request:URLRequest):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Envía y carga datos desde la URL especificada. Los datos se pueden recibir como texto, como datos binarios sin formato o como variables con codificación, en función del valor establecido para la propiedad dataFormat. Tenga en cuenta que el valor predeterminado de la propiedad dataFormat es text. Si quiere enviar datos a la URL especificada, puede establecer la propiedad data en el objeto URLRequest.
Nota: si un archivo que se está cargando contiene caracteres no ASCII (como ocurre en muchos idiomas, no así en inglés), se recomienda que guarde el archivo con codificación UTF-8 o UTF-16, en lugar de utilizar un formato no Unicode, como ASCII.
Cuando utilice este método, tenga en cuenta el modelo de seguridad de Flash Player:
En Flash Player 9 y versiones posteriores, se puede impedir que un archivo SWF utilice este método si define el parámetro allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.
Flash Player 8 y versiones anteriores:
Para Flash Player 7 y versiones posteriores, los sitios Web pueden permitir el acceso de distintos dominios a un recurso mediante un archivo de política de varios dominios. En archivos SWF de cualquier versión que se ejecuten en Flash Player 7 y posterior, url debe estar exactamente en el mismo dominio. Por ejemplo, un archivo SWF de www.adobe.com puede cargar datos únicamente de orígenes que estén también en www.adobe.com.
Para más información, consulte las siguientes secciones:
En archivos SWF que se ejecuten en una versión del reproductor anterior a Flash Player 7, url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada. El superdominio se obtiene al eliminar el componente más a la izquierda de la URL de un archivo. Por ejemplo, un archivo SWF situado en www.adobe.com puede cargar datos de fuentes situadas en store.adobe.com porque ambos archivos se encuentran en el mismo superdominio de adobe.com.
Parámetros
request:URLRequest — Un objeto URLRequest que especifica la URL que se va a descargar.
|
complete: — Se distribuye cuando los datos se han cargado correctamente. |
|
httpStatus: — Si se accede a través de HTTP y el entorno actual de Flash Player admite la obtención de códigos de estado, es posible recibir dichos eventos además de cualquier evento complete o error. |
|
ioError: — No se pudo completar la operación de carga. |
|
progress: — Se distribuye al recibirse datos mientras progresa una operación de descarga. |
|
securityError: — Intento de operación de carga para recuperar datos desde un servidor fuera del entorno limitado de seguridad del elemento que realiza la llamada. Esto puede resolverse utilizando un archivo de política en el servidor. |
|
open: — Se distribuye cuando se inicia la operación de carga. |
ArgumentError — Es posible que los objetos URLRequest.requestHeader no contengan determinados encabezados de solicitud HTTP no permitidos. Para más información, consulte la descripción de la clase URLRequestHeader.
|
|
MemoryError — Este error puede producirse por los motivos siguientes: 1) Flash Player no puede convertir el parámetro URLRequest.data de UTF8 a MBCS. Este error es aplicable si se define el objeto URLRequest transferido a load() para que lleve a cabo una operación GET y si System.useCodePage está establecido como true. 2) Flash Player no puede asignar memoria para los datos POST. Este error se aplica si se define el objeto URLRequest transferido a load para que lleve a cabo una operación POST.
|
|
SecurityError — Los archivos SWF locales que no son de confianza no pueden comunicarse en Internet. Puede solucionar este problema reclasificando el archivo SWF como archivo local de red o archivo de confianza.
|
|
TypeError — El valor del parámetro de solicitud o de la propiedad URLRequest.url del objeto URLRequest transferido es null.
|
Véase también
Se crea un objeto URLRequest para identificar la ubicación del archivo XML, que para este ejemplo está en el mismo directorio que el archivo SWF. El archivo cargado en un bloque try...catch para capturar cualquier error que pueda ocurrir. (En este caso capturamos los errores SecurityError.) Si se produce un evento IO_ERROR, se invoca el método errorHandler(), que escribe un mensaje de error en el campo de texto xmlTextField. Una vez que se han recibido los datos del archivo XML y se han colocado en la propiedad de datos del objeto loader URLLoader, se distribuye el evento Event.COMPLETE y se invoca el método loaderCompleteHandler().
En el método loaderCompleteHandler(), se utiliza un bloque try...catch para capturar cualquier error de análisis que pueda ocurrir al convertir los datos cargados del archivo a un objeto XML. El método readNodes() se desplaza de forma recursiva por todos los elementos de los nodos del documento XML y agrega el campo de texto xmlTextField con una lista de los primeros atributos de todos los elementos.
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
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye tras decodificar y colocar todos los datos recibidos en la propiedad data del objeto URLLoader. Es posible acceder a los datos recibidos una vez distribuido este evento.
type de un objeto de evento complete.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha terminado de cargarse. |
Véase también
| httpStatus | Evento |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye si una llamada a URLLoader.load() intenta acceder a datos sobre HTTP y si el entorno de Flash Player actual puede detectar y devolver el código de estado para la solicitud. (Es posible que algunos entornos de navegador no proporcionen esta información.) Tenga en cuenta que se enviará el evento httpStatus (si existe) antes que (y además de) cualquier evento complete o error.
type de un objeto de evento httpStatus.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
status | El código de estado HTTP que devuelve el servidor. |
target | El objeto de red que recibe el código de estado HTTP. |
Véase también
| ioError | Evento |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye si el resultado de una llamada a URLLoader.load() es un error grave que hace que la descarga finalice.
type de un objeto de evento ioError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
Véase también
| open | Evento |
flash.events.Event
flash.events.Event.OPEN
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando se inicia la operación de descarga tras una llamada al método URLLoader.load().
type de un objeto de evento open.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha abierto una conexión. |
Véase también
| progress | Evento |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye al recibirse datos mientras progresa una operación de descarga.
Tenga en cuenta que con un objeto URLLoader no es posible acceder a los datos hasta que no se reciben por completo. Por tanto, el evento de progreso únicamente sirve de notificación para saber qué grado de progreso ha alcanzado la descarga. Para acceder a los datos antes de que se descarguen por completo, utilice un objeto URLStream.
Define el valor de la propiedadtype de un objeto de evento progress.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
bytesLoaded | Número de elementos o bytes cargados en el momento en que el detector procesa el evento. |
bytesTotal | Número total de elementos o bytes que se cargarán en última instancia si el proceso de carga se realiza correctamente. |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red que informa sobre el progreso. |
Véase también
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye si se intenta llamar a URLLoader.load() para cargar datos de un servidor situado fuera del entorno limitado de seguridad.
SecurityErrorEvent.SECURITY_ERROR define el valor de la propiedad type de un objeto de evento securityError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red que informa sobre le error de seguridad. |
text | Texto que se mostrará como mensaje de error. |
Véase también
Nota: para ejecutar este ejemplo, coloque un archivo llamado urlLoaderExample.txt en el mismo directorio que el archivo SWF. Dicho archivo debe contener únicamente la siguiente línea de texto: answer=42&question=unknown
El código de ejemplo cumple las siguientes funciones:
loader y una instancia de URLRequest request, que contiene la ubicación y el nombre del archivo que se va a cargar.loader se transfiere al método configureListeners(), que añade detectores para cada uno de los eventos URLLoader admitidos.request se transfiere a loader.load(), que carga el archivo de texto.Event.COMPLETE, que activa el método completeHandler(). El método completeHandler() crea variables de URLVariables a partir del texto cargado desde el archivo. El objeto URLVariables convierte los pares nombre/valor con codificación URL en propiedades de ActionScript para facilitar la manipulación de los datos cargados.
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);
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/net/URLLoader.html