Panoramica sull'ambiente HTML

Adobe AIR 1.0 e versioni successive

Adobe AIR fornisce un ambiente browser completo simile a JavaScript, con un renderer HTML, un DOM (document object model) e un interprete JavaScript. L'ambiente JavaScript è rappresentato dalla classe HTMLLoader di AIR. Nelle finestre HTML, un oggetto HTMLLoader contiene tutto il contenuto HTML, e a sua volta è contenuto in un oggetto NativeWindow. Nel contenuto SWF, la classe HTMLLoader, che estende la classe Sprite, può essere aggiunta all'elenco di visualizzazione di uno stage come qualsiasi altro oggetto di visualizzazione. Le proprietà ® ActionScript® 3.0 della classe sono descritte in Creazione di script per il contenitore HTML AIR e nella Guida di riferimento di Adobe ActionScript 3.0 per la piattaforma Adobe Flash . Nella struttura Flex, la classe HTMLLoader di AIR viene racchiusa in un componente mx:HTML. Tale componente estende la classe UIComponent, pertanto è possibile utilizzarlo direttamente con altri contenitori Flex. A parte questo, l'ambiente JavaScript all'interno del componente mx:HTML è identico.

Informazioni sull'ambiente JavaScript e la sua relazione con l'host AIR

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 .

Informazioni sulla protezione

AIR esegue tutto il codice all'interno di una sandbox di sicurezza in base al dominio di origine. Il contenuto dell'applicazione, che si limita al contenuto caricato dalla directory di installazione dell'applicazione, viene collocato nella sandbox dell' applicazione . L'accesso all'ambiente di runtime e alle API AIR è disponibile solo per HTML e JavaScript in esecuzione da questa sandbox. Allo stesso tempo, la valutazione e l'esecuzione dinamica di JavaScript è per lo più bloccata nella sandbox dell'applicazione dopo che tutti i gestori dell'evento di caricamento ( load ) della pagina sono stati restituiti.

È possibile mappare la pagina di un'applicazione nella sandbox non dell'applicazione caricando la pagina in un frame o un iframe e impostando gli attributi sandboxRoot e documentRoot specifici di AIR del frame. Impostando il valore di sandboxRoot su un dominio remoto effettivo, è possibile consentire che il contenuto della sandbox effettui uno scambio di script con il contenuto di quel dominio. Mappando le pagine in questo modo può essere utile quando si effettua il caricamento e si creano script per il contenuto remoto, come ad esempio in un'applicazione mash-up .

Un altro sistema per consentire lo scambio incrociato di script tra contenuto dell'applicazione e non dell'applicazione, e l'unico sistema per fornire accesso alle API AIR al contenuto non dell'applicazione consiste nel creare un bridge sandbox . Un bridge elemento principale-a-secondario consente al contenuto di un frame secondario, un iframe, o a una finestra, di accedere a proprietà e metodi designati definiti nella sandbox dell'applicazione. Di contro, un bridge elemento secondario-a-principale consente al contenuto dell'applicazione di accedere a proprietà e metodi designati definiti nella sandbox dell'elemento secondario. I bridge sandbox vengono stabiliti impostando le proprietà parentSandboxBridge e childSandboxBridge dell'oggetto Window. Per ulteriori informazioni, vedete Sicurezza HTML in Adobe AIR e Elementi frame e iframe HTML .

Informazioni su plug-in e oggetti incorporati

AIR supporta il plug-in per Adobe® Acrobat®. Per visualizzare contenuto in formato PDF, gli utenti devono disporre di Acrobat o Adobe® Reader® 8.1 o versione superiore. L'oggetto HTMLLoader fornisce una proprietà che consente di controllare se il sistema di un utente è in grado di visualizzare file PDF. All'interno dell'ambiente HTML è anche possibile visualizzare il contenuto di file SWF, ma questa capacità è incorporata in AIR e non richiede l'impiego di plug-in esterni.

AIR non supporta altri plug-in di WebKit.