El siguiente esquema ilustra la relación entre el entorno JavaScript y el entorno del motor de ejecución de AIR. Si bien se muestra una sola ventana nativa, una aplicación de AIR puede contener varias ventanas. (Y una sola ventana puede contener varios objetos HTMLLoader).
Ver gráfico a tamaño completo
El entorno JavaScript tiene sus propios objetos Document y Window. El código JavaScript puede interactuar con el entorno del motor de ejecución de AIR a través de las propiedades runtime, nativeWindow y htmlLoader. El código ActionScript puede interactuar con el entorno JavaScript a través de la propiedad de ventana ("window")
de un objeto HTMLLoader, que es una referencia al objeto Window de JavaScript. Además, tanto los objetos ActionScript como los objetos JavaScript pueden detectar eventos distribuidos por objetos de AIR y JavaScript.
La propiedad
runtime
facilita el acceso a las clases API de AIR, lo cual permite crear nuevos objetos de AIR además de acceder a miembros estáticos. Para tener acceso a una API de AIR se añade el nombre de la clase, con el paquete, a la propiedad
runtime
. Por ejemplo, para crear un objeto File se utilizaría la sentencia:
var file = new window.runtime.filesystem.File();
Nota:
el SDK de AIR proporciona un archivo JavaScript,
AIRAliases.js
, que define los alias más convenientes para las clases de AIR de uso más frecuente. Al importar este archivo se puede utilizar la forma abreviada air.Class en lugar de window.runtime.package.Class. Por ejemplo, se podría crear el objeto File con
new air.File()
.
El objeto NativeWindow proporciona propiedades para controlar la ventana del escritorio. Desde una página HTML se puede tener acceso al objeto NativeWindow contenedor con la propiedad
window.nativeWindow
.
El objeto HTMLLoader proporciona propiedades, métodos y eventos para controlar cómo se carga y representa el contenido. Desde una página HTML se puede tener acceso al objeto HTMLLoader principal con la propiedad
window.htmlLoader
.
Importante:
solo las páginas instaladas como parte de una aplicación tienen las propiedades
htmlLoader
,
nativeWindow
o
runtime
y solo cuando se cargan como documento del nivel superior. Estas propiedades no se añaden cuando se carga un documento en un fotograma o en un iframe. (Un documento secundario tiene acceso a estas propiedades en el documento principal siempre que se encuentre en el mismo entorno limitado de seguridad. Por ejemplo, un documento cargado en un fotograma tiene acceso a la propiedad
runtime
del documento principal con
parent.runtime
).