Nel diagramma seguente viene illustrato il rapporto tra l'ambiente JavaScript e l'ambiente di runtime di AIR. Sebbene sia visualizzata una sola finestra nativa, un'applicazione AIR può contenere più finestre, e una singola finestra può contenere più oggetti HTMLLoader.
Visualizzazione dell’elemento grafico a dimensioni intere
L'ambiente JavaScript dispone di oggetti Document e Window propri. Il codice JavaScript può interagire con l'ambiente di runtime di AIR attraverso le proprietà di runtime nativeWindow e htmlLoader. Il codice ActionScript può interagire con l'ambiente JavaScript attraverso la proprietà window
di un oggetto HTMLLoader, che costituisce un riferimento all'oggetto Window di JavaScript. Inoltre, entrambi gli oggetti ActionScript e JavaScript fungono da listener per gli eventi inviati da oggetti AIR e JavaScript.
La proprietà
runtime
consente l'accesso alle classi di API AIR, consentendo la creazione di nuovi oggetti AIR nonché l'accesso ai membri delle classi, denominati anche statici. Per accedere a un'API AIR, è sufficiente aggiungere il nome della classe, nonché il pacchetto, alla proprietà
runtime
. Ad esempio, per creare un oggetto File, si utilizza l'istruzione seguente:
var file = new window.runtime.filesystem.File();
Nota:
AIR SDK fornisce un file JavaScript,
AIRAliases.js
, che definisce gli alias più convenienti per le classi AIR più comunemente utilizzate. Quando si importa questo file, è possibile usare la forma abbreviata air.Class invece di window.runtime.package.Class. Ad esempio, è possibile creare l'oggetto File con
new air.File()
.
L'oggetto NativeWindow fornisce le proprietà per il controllo della finestra del desktop. Da una pagina HTML è possibile accedere all'oggetto contenitore NativeWindow con la proprietà
window.nativeWindow
.
L'oggetto HTMLLoader fornisce proprietà, metodi ed eventi per il controllo delle modalità di caricamento e rendering del contenuto. Da una pagina HTML è possibile accedere all'oggetto principale HTMLLoader con la proprietà
window.htmlLoader
.
Importante:
solo le pagine installate come parte di un'applicazione dispongono delle proprietà
htmlLoader
,
nativeWindow
o
runtime
, e solo quando vengono caricate come documento di primo livello. Tali proprietà non vengono aggiunte quando un documento viene caricato in un frame o in un iframe. Un documento secondario potrà accedere a queste proprietà sul documento principale fintantoché si trovano nella stessa sandbox di sicurezza. Ad esempio, un documento caricato in un frame potrebbe accedere alla proprietà
runtime
del relativo elemento principale con
parent.runtime
.