Paquete | flash.net |
Clase | public class URLLoader |
Herencia | URLLoader EventDispatcher Object |
Subclases | AVURLLoader |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Un objeto URLLoader descarga todos los datos de una URL antes de ponerla a disposición en el código de las aplicaciones. 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.
Al cargar archivos de vídeo de gran tamaño como, por ejemplo, archivos FLV, se pueden producir errores de memoria insuficiente.
Al utilizar esta clase en Flash Player y en el contenido de la aplicación de AIR en entornos limitados de seguridad distintos al entorno limitado de seguridad de la aplicación, se considera el modelo de seguridad siguiente:
- Es posible que un archivo SWF del entorno limitado local-con-sistema-de-archivos no cargue ni proporcione datos a un recurso que se encuentre en el entorno limitado de red.
- De forma predeterminada, el archivo SWF que realiza la llamada y la URL que se carga deben estar exactamente en el mismo dominio. Por ejemplo, un archivo SWF de www.adobe.com puede cargar datos únicamente de orígenes que también estén en www.adobe.com. Para cargar datos desde un dominio distinto, coloque un archivo de política URL en el servidor que aloja los datos.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Elementos de API relacionados
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 |
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 [override]
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | URLLoader | ||
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 de este objeto, con formato según las convenciones específicas de configuración regional. | 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 | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
Se distribuye tras decodificar y colocar todos los datos recibidos en la propiedad data del objeto URLLoader. | URLLoader | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye si una llamada al método load() intenta acceder a los datos mediante HTTP y Adobe AIR puede detectar y devolver el código de estado de la petición. | URLLoader | |||
Se distribuye si una llamada al método URLLoader.load() intenta acceder a los datos mediante HTTP. | 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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
//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 | propiedad |
public var dataFormat:String = "text"
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | Información sobre |
public function URLLoader(request:URLRequest = null)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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).
|
Elementos de API relacionados
addEventListener | () | método |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. Puede registrar detectores de eventos en todos los nodos de la lista de visualización para un tipo concreto de evento, fase y prioridad.
Una vez registrado correctamente un detector de eventos, no puede cambiar su prioridad mediante llamadas adicionales a addEventListener()
. Para cambiar la prioridad de un detector, en primer lugar debe llamar a removeListener()
. Seguidamente, puede volver a registrar el nuevo nivel de prioridad.
Recuerde que, una vez registrado el detector, las siguientes llamadas a addEventListener()
con un valor type
o useCapture
distinto tendrán como resultado la creación de un registro independiente del detector. Por ejemplo, si registra primero un detector con useCapture
definido como true
, detectará únicamente durante la fase de captura. Si vuelve a llamar a addEventListener()
con el mismo objeto detector, pero con useCapture
definido como false
, tendrá dos detectores independientes: uno que detecta durante la fase de captura y otro que lo hace durante las fases de destino y de propagación.
No es posible registrar un detector de eventos únicamente para la fase de destino o la fase de propagación. Dichas fases se acoplan durante el registro, ya que la propagación sólo se aplica a los ascendientes del nodo de destino.
Si ya no necesita ningún detector de eventos, elimínelo llamando a removeEventListener()
; de lo contrario, podrían surgir problemas de memoria. Los detectores de eventos no se eliminan automáticamente de la memoria, ya que el recolector de datos innecesarios no elimina el detector siempre que el objeto distribuido exista (a no ser que el parámetro useWeakReference
se establezca en true
).
Al copiar una instancia EventDispatcher no se copian los detectores de eventos asociados. (Si el nodo recién creado necesita un detector de eventos, debe asociarlo después de crear el nodo.) Sin embargo, si mueve una instancia EventDispatcher, los detectores de eventos asociados se moverán también.
Si el detector de eventos se registra en un nodo mientras se procesa un evento en dicho nodo, el detector de eventos no se desencadenará durante la fase actual, aunque sí se desencadenará en una fase posterior del flujo del evento, por ejemplo, en la fase de propagación.
Si un detector de eventos se elimina de un nodo mientras se procesa un evento en dicho nodo, las acciones actual seguirán desencadenándolo. Una vez eliminado, el detector de eventos ya no se vuelve a invocar nunca más (a no ser que se registre de nuevo para otro proceso).
Parámetros
type:String — El tipo de evento.
| |
listener:Function — La función del detector que procesa el evento. Esta función debe aceptar un objeto de evento como parámetro único y no debe devolver ningún valor, tal como indica el siguiente ejemplo:
function(evt:Event):void La función puede tener cualquier nombre. | |
useCapture:Boolean (default = false ) —
Determina si el detector funciona en la fase de captura o en las fases de destino y de propagación. Si useCapture se define como true , el detector procesa el evento sólo durante la fase de captura y no en las fases de destino o propagación. Si useCapture es false , el detector procesa el evento sólo durante la fase de destino o de propagación. Para detectar el evento en las tres fases, llame dos veces a addEventListener , una con useCapture establecido en true y, después, otra con useCapture definido como false .
| |
priority:int (default = 0 ) — El nivel de prioridad del detector de eventos. La prioridad viene designada por un entero de 32 bits sin signo. Cuanto mayor sea el número, mayor será la prioridad. Todos los detectores con prioridad n se procesan antes que los detectores con prioridad n-1. Si dos o más detectores comparten la misma prioridad, se procesarán en el orden en el que se añadieron. La prioridad predeterminada es 0.
| |
useWeakReference:Boolean (default = false ) — Determina si la referencia al detector es fuerte o débil. Una referencia fuerte (valor predeterminado) impide que el detector sea eliminado por el recolector de datos innecesarios. Una referencia débil no lo hace. Las funciones de miembros de clase no están sujetas a la recolección de elementos no utilizados, por lo que |
close | () | método |
public function close():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Es posible que un archivo SWF del entorno limitado local-con-sistema-de-archivos no cargue ni proporcione datos a un recurso que se encuentre en el entorno limitado de red.
De forma predeterminada, el archivo SWF que realiza la llamada y la URL que se carga deben estar exactamente en el mismo dominio. Por ejemplo, un archivo SWF de www.adobe.com puede cargar datos únicamente de orígenes que también estén en www.adobe.com. Para cargar datos desde un dominio distinto, coloque un archivo de política URL en el servidor que aloja los datos.
No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
En Flash Player 10 y versiones posteriores, si utiliza una estructura Content-Type de varias partes (por ejemplo, "multipart/form-data") con una acción de carga (indicada por un parámetro "filename" en un encabezado "content-disposition" dentro del cuerpo POST), la operación POST está sujeta a las reglas de seguridad aplicadas a las cargas:
- Es preciso realizar una operación POST como respuesta a una acción iniciada por el usuario, por ejemplo, un clic de ratón o la pulsación de una tecla.
- Si la operación POST afecta a varios dominios (el destino POST no se encuentra en el mismo servidor que el archivo SWF que envía la petición POST), el servidor de destino debe proporcionar un archivo de política URL que permita el acceso a varios dominios.
Asimismo, en cualquier estructura Content-Type de varias partes, la sintaxis debe ser válida (de acuerdo con la norma RFC2046). Si la sintaxis no es válida, la operación POST está sujeta a las reglas de seguridad que se aplican a las cargas.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Parámetros
request:URLRequest — Un objeto URLRequest que especifica la URL que se va a descargar.
|
Eventos
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.
| |
securityError: — Una operación de carga ha intentado cargar un archivo SWZ (un componente de plataforma de Adobe), pero el certificado no es válido o la cadena digest no coincide con el componente.
| |
open: — Se distribuye cuando se inicia la operación de carga.
| |
httpResponseStatus: — Se distribuye si una llamada al método load() intenta acceder a los datos mediante HTTP y Adobe AIR puede detectar y devolver el código de estado de la petición.
|
Emite
ArgumentError — Es posible que los objetos URLRequest.requestHeader no contengan determinados encabezados de petición 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 o AIR no pueden 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 o AIR no pueden asignar memoria para los datos de 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 locales que no son de confianza no pueden comunicarse en Internet. Puede solucionar este problema reclasificando el archivo como archivo local de red o archivo de confianza.
| |
SecurityError — Si intenta conectarse a un puerto habitualmente reservado. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
| |
TypeError — El valor del parámetro de solicitud o de la propiedad URLRequest.url del objeto URLRequest transferido es null .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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
propiedad Event.type =
flash.events.Event.COMPLETE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
La constanteEvent.COMPLETE
define el valor de la propiedad 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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha terminado de cargarse. |
Elementos de API relacionados
httpResponseStatus | Evento |
flash.events.HTTPStatusEvent
propiedad HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, AIR 1.0, Flash Lite 4 |
Se distribuye si una llamada al método load() intenta acceder a los datos mediante HTTP y Adobe AIR puede detectar y devolver el código de estado de la petición.
Al contrario quehttpStatus
, el evento httpResponseStatus
se envía antes de cualquier dato de respuesta. Asimismo, el evento httpResponseStatus
incluye valores para las propiedades responseHeaders
y responseURL
(que son undefined en un evento httpStatus
). Tenga en cuenta que se enviará el evento httpResponseStatus
(si existe) antes que (y además de) cualquier evento complete
o error
.
La constante HTTPStatusEvent.HTTP_RESPONSE_STATUS
define el valor de la propiedad type
de un objeto de evento httpResponseStatus
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
responseURL | URL desde la que se devolvió la respuesta. |
responseHeaders | Encabezados de respuesta devueltos por la respuesta como un conjunto de objeto URLRequestHeader. |
status | El código de estado HTTP que devuelve el servidor. |
redirected | Indica si la respuesta es el resultado de una redirección. |
target | El objeto de red que recibe el código de estado HTTP. |
Elementos de API relacionados
httpStatus | Evento |
flash.events.HTTPStatusEvent
propiedad HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye si una llamada al método URLLoader.load() intenta acceder a los datos mediante HTTP. Para contenido ejecutado en Flash Player, este evento sólo se distribuye si el entorno actual de Flash Player puede detectar y devolver el código de estado de la petición. (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
.
HTTPStatusEvent.HTTP_STATUS
define el valor de la propiedad 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 | 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. |
Elementos de API relacionados
ioError | Evento |
flash.events.IOErrorEvent
propiedad IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye si el resultado de una llamada a URLLoader.load() es un error grave que hace que la descarga finalice.
Define el valor de la propiedadtype
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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
errorID | Un número de referencia asociado al error concreto (sólo AIR). |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
Elementos de API relacionados
open | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.OPEN
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando se inicia la operación de descarga tras una llamada al método URLLoader.load()
.
Event.OPEN
define el valor de la propiedad 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 | 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. |
Elementos de API relacionados
progress | Evento |
flash.events.ProgressEvent
propiedad ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto que informa sobre el progreso. |
Elementos de API relacionados
securityError | Evento |
flash.events.SecurityErrorEvent
propiedad SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye si se intenta llamar a URLLoader.load() para cargar datos de un servidor situado fuera del entorno limitado de seguridad. También se distribuye si una llamada a URLLoader.load()
intenta cargar un archivo SWZ y el certificado no es válido, o si la cadena digest no coincide con el componente.
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 | 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. |
Elementos de API relacionados
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:
- La función constructora crea una instancia de URLLoader llamada
loader
y una instancia de URLRequestrequest
, que contiene la ubicación y el nombre del archivo que se va a cargar. - El objeto
loader
se transfiere al métodoconfigureListeners()
, que añade detectores para cada uno de los eventos URLLoader admitidos. - Posteriormente, el objeto
request
se transfiere aloader.load()
, que carga el archivo de texto. - Cuando URLLoader finaliza la carga del archivo de texto, se activa el evento
Event.COMPLETE
, que activa el métodocompleteHandler()
. El métodocompleteHandler()
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 { 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, 02:12 PM Z