Paqueteflash.system
Clasepublic class LoaderContext
HerenciaLoaderContext Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase LoaderContext ofrece opciones para cargar archivos SWF y otros medios con la clase Loader. La clase LoaderContext se utiliza como el parámetro context de los métodos load() y loadBytes() de la clase Loader.

Al cargar archivos SWF con el método Loader.load(), se deben tomar dos decisiones: ¿en qué dominio de seguridad debe colocarse el archivo SWF? y ¿en qué dominio de aplicación dentro de dicho dominio de seguridad? Para más información sobre estas decisiones, consulte las propiedades applicationDomain y securityDomain.

Al cargar un archivo SWF con el método Loader.loadBytes(), debe tomar la misma decisión respecto al dominio de aplicación que con Loader.load(), pero no es necesario especificar ningún dominio de seguridad, ya que Loader.loadBytes() siempre coloca su archivo SWF cargado en el dominio de seguridad del archivo SWF de carga.

Al cargar imágenes (archivos JPEG, GIF o PNG) en lugar de archivos SWF, no es necesario especificar ninguna clase SecurityDomain ni dominio de aplicación, ya que estos conceptos sólo se aplican a los archivos SWF. La única decisión que debe tomar es: ¿es necesario obtener acceso programado a los píxeles de la imagen cargada? Si es así, consulte la propiedad checkPolicyFile.

Véase también

flash.display.Loader.load()
flash.display.Loader.loadBytes()
flash.system.ApplicationDomain
flash.system.LoaderContext.applicationDomain
flash.system.LoaderContext.checkPolicyFile
flash.system.LoaderContext.securityDomain
flash.system.SecurityDomain
Especificación del contexto de carga


Propiedades públicas
 PropiedadDefinido por
  applicationDomain : ApplicationDomain = null
Especifica el dominio de aplicación que se utiliza para los métodos Loader.load() o Loader.loadBytes().
LoaderContext
  checkPolicyFile : Boolean = false
Especifica si Flash Player debe intentar descargar un archivo de política entre dominios desde el servidor del objeto cargado antes de comenzar la carga del propio objeto.
LoaderContext
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  securityDomain : SecurityDomain = null
Especifica el dominio de seguridad que se utiliza para una operación Loader.load().
LoaderContext
Métodos públicos
 MétodoDefinido por
  
LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)
Crea un nuevo objeto LoaderContext con la configuración especificada.
LoaderContext
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades
applicationDomainpropiedad
public var applicationDomain:ApplicationDomain = null

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el dominio de aplicación que se utiliza para los métodos Loader.load() o Loader.loadBytes(). Utilice esta propiedad sólo si carga un archivo SWF creado con ActionScript 3.0 (no una imagen ni un archivo SWF creados en ActionScript 1.0 ó 2.0).

Todos los dominios de seguridad se dividen en uno o varios dominios de aplicación, que están representados por objetos ApplicationDomain. Los dominios de aplicación no se destinan a la seguridad; sirven para administrar la cooperación de las unidades del código ActionScript. Si carga un archivo SWF desde otro dominio y permite su colocación en un dominio de seguridad independiente, no podrá controlar la elección del dominio de aplicación en el que se situará el archivo SWF cargado; si ha especificado una elección de dominio de aplicación, ésta se ignorará. Sin embargo, si carga un archivo SWF en su propio dominio de seguridad (bien porque el archivo procede de su propio dominio o porque se importa en su propio dominio de seguridad), sí podrá controlar la elección del dominio de aplicación para el archivo SWF cargado.

Puede transmitir un dominio de aplicación sólo desde su propio dominio de seguridad en LoaderContext.applicationDomain. Si intenta transmitir un dominio de aplicación desde otro dominio de seguridad, el resultado será un excepción SecurityError.

Existen cuatro opciones en cuanto al tipo de propiedad ApplicationDomain que puede utilizarse:

Una vez completada la carga, cada lado (el que se carga y el cargador) puede necesitar su propia propiedad ApplicationDomain (o la propiedad ApplicationDomain del otro lado) para llamar a ApplicationDomain.getDefinition(). Cada lado puede recuperar una referencia de su propio dominio de aplicación mediante ApplicationDomain.currentDomain. El archivo SWF que se carga puede recuperar una referencia a la propiedad ApplicationDomain del archivo SWF cargado mediante Loader.contentLoaderInfo.applicationDomain. Si el archivo SWF cargado sabe cómo se cargó, podrá encontrar el camino hasta el objeto ApplicationDomain del archivo SWF que se carga. Por ejemplo, si el elemento secundario se cargó de forma predeterminada, podrá encontrar el dominio de aplicación del archivo SWF que se carga mediante ApplicationDomain.currentDomain.parentDomain.

Para más información, consulte el apartado "Clase ApplicationDomain" del capítulo "Entorno del sistema del cliente" de Programación con ActionScript 3.0.

Véase también

checkPolicyFilepropiedad 
public var checkPolicyFile:Boolean = false

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica si Flash Player debe intentar descargar un archivo de política entre dominios desde el servidor del objeto cargado antes de comenzar la carga del propio objeto. Esta marca se aplica al método Loader.load(), pero no a Loader.loadBytes().

Establezca la marca como true al cargar una imagen (archivo JPEG, GIF o PNG) desde el exterior de la llamada al dominio del propio archivo SWF y si necesitará acceder al contenido de dicha imagen desde ActionScript. Algunos ejemplos de acceso al contenido de las imágenes son hacer referencia a la propiedad Loader.content para obtener un objeto Bitmap o llamar al método BitmapData.draw() para obtener una copia de los píxeles de la imagen cargada. Si intenta realizar una de estas operaciones sin especificar checkPolicyFile en el tiempo de carga, es probable que obtenga una excepción SecurityError, ya que no se ha descargado aún el archivo de política necesario.

Al llamar al método Loader.load() con LoaderContext.checkPolicyFile definido como true, Flash Player no inicia la descarga del objeto especificado en URLRequest.url hasta haber descargado correctamente un archivo adecuado de política entre dominios o hasta descubrir que no existe ningún archivo de política correcto. Flash Player primero tiene en cuenta los archivos de política ya descargados. Seguidamente, intenta descargar cualquier archivo de política pendiente especificado en las llamadas al método Security.loadPolicyFile() y, a continuación, intenta descargar un archivo de política desde la ubicación predeterminada que corresponde a URLRequest.url, que es /crossdomain.xml en el mismo servidor que URLRequest.url. En todos los casos, Flash Player necesita que el archivo de política correspondiente exista en el servidor, que ofrezca acceso al objeto en URLRequest.url de acuerdo con la ubicación del archivo de política y que permita que el dominio acceda al archivo SWF que realiza la llamada gracias a una o varias etiquetas <allow-access-from>.

Si define checkPolicyFile como true, Flash Player esperará a la finalización del archivo de política para iniciar la descarga principal que se especifica en el método Loader.load(). Por lo tanto, siempre y cuando exista el archivo de política necesario, la descarga habrá finalizado tan pronto como se reciba cualquiera de los eventos ProgressEvent.PROGRESS o Event.COMPLETE de la propiedad contentLoaderInfo del objeto Loader, y podrá comenzar de forma segura las operaciones que requieren el archivo de política.

Si define checkPolicyFile como true y no se encuentra ningún archivo de política adecuado, no se recibe ningún indicio de error hasta que no se intente la operación que emite una excepción SecurityError. Sin embargo, cuando el objeto LoaderInfo distribuye un evento ProgressEvent.PROGRESS o Event.COMPLETE, se puede comprobar si se encontró un archivo de política adecuado verificando el valor de la propiedad LoaderInfo.childAllowsParent.

Si no necesita un acceso a nivel de píxeles en la imagen que va a cargar, no debe definir la propiedad checkPolicyFile como true. No es muy adecuado buscar un archivo de política en este caso, ya que podría retrasar el inicio de la descarga y consumir ancho de banda de red de forma innecesaria.

Intente también evitar el establecimiento de checkPolicyFile como true si utiliza el método Loader.load() para descargar un archivo SWF. Esto se debe a que los permisos de SWF a SWF no están controlados por archivos de política, sino por el método Security.allowDomain() y, por tanto, checkPolicyFile no surte ningún efecto al cargar un archivo SWF. No es muy adecuado buscar un archivo de política en este caso, ya que podría retrasar la descarga del archivo SWF y consumir ancho de banda de red de forma innecesaria. (Flash Player no puede saber si la descarga principal será un archivo SWF o una imagen, ya que la descarga del archivo de política se produce antes de la descarga principal.)

Debe tener cuidado con checkPolicyFile si descarga un objeto desde una URL que utilice redirección HTTP en el lado del servidor. Flash Player siempre intenta recuperar archivos de política correspondientes a la URL inicial especificada en URLRequest.url. Si el objeto final procede de una URL distinta por la redirección HTTP, puede que los archivos de política descargados inicialmente no se puedan aplicar a la URL final del objeto, que es la URL determinante en las decisiones de seguridad. Si se produce esta situación, puede examinar el valor de LoaderInfo.url tras recibir un evento ProgressEvent.PROGRESS o Event.COMPLETE, que le indicará la URL final del objeto. A continuación, llame al método Security.loadPolicyFile() con una URL de archivo de política basada en la URL final del objeto. A continuación, sondee el valor de LoaderInfo.childAllowsParent hasta que sea true.

Véase también

securityDomainpropiedad 
public var securityDomain:SecurityDomain = null

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el dominio de seguridad que se utiliza para una operación Loader.load(). Utilice esta propiedad sólo si carga un archivo SWF (no una imagen).

La elección del dominio de seguridad tiene relevancia únicamente si se carga un archivo SWF que pueda proceder de otro dominio distinto (un servidor diferente) del archivo SWF que se carga. Al cargar un archivo SWF desde su propio dominio, siempre se coloca en el dominio de seguridad. Sin embargo, al cargar un archivo SWF desde un dominio distinto, existen dos opciones. Puede permitir que el archivo SWF cargado se coloque en su dominio de seguridad "natural", que no coincide con el del archivo SWF que se carga. Esta opción es la predeterminada. La otra opción consiste en especificar que desea colocar el archivo SWF cargado en el mismo dominio de seguridad que el archivo SWF que se carga. Para ello, establezca myLoaderContext.securityDomain para que sea igual que SecurityDomain.currentDomain. Este proceso recibe el nombre de carga de importación y equivale, en lo que respecta a la seguridad, a copiar el archivo SWF cargado en su propio servidor y cargarlo desde allí. Para que la carga de importación sea correcta, el servidor del archivo SWF cargado debe disponer de un archivo de política apto para el dominio del archivo SWF que se carga.

Puede transmitir su propio dominio de seguridad sólo en LoaderContext.securityDomain. Si intenta transmitir cualquier otro dominio de seguridad, el resultado será una excepción SecurityError.

Para más información, consulte el capítulo "Seguridad" de Programación con ActionScript 3.0.

Véase también

Información sobre constructores
LoaderContext()constructor
public function LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un nuevo objeto LoaderContext con la configuración especificada. Para obtener información detallada sobre esta configuración, consulte las descripciones de las propiedades de esta clase.

Parámetros
checkPolicyFile:Boolean (default = false) — Especifica si Flash Player debe comprobar la existencia de un archivo de política entre dominios antes de cargar el objeto.
 
applicationDomain:ApplicationDomain (default = null) — Especifica el objeto ApplicationDomain que se utiliza para un objeto Loader.
 
securityDomain:SecurityDomain (default = null) — Especifica el objeto SecurityDomain que se utiliza para un objeto Loader.

Véase también





 

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/system/LoaderContext.html