O diagrama a seguir ilustra o relacionamento entre o ambiente JavaScript e o ambiente de tempo de execução do AIR. Embora apenas uma única janela nativa seja exibida, um aplicativo do AIR pode conter várias janelas. (E uma única janela pode conter vários objetos HTMLLoader.)
Exibir gráfico inteiro
O ambiente JavaScript possui seus próprios objetos Document e Window. O código JavaScript pode interagir com o ambiente de tempo de execução do AIR por meio das propriedades runtime, nativeWindow e htmlLoader. O código ActionScript pode interagir com o ambiente JavaScript pela propriedade window
de um objeto HTMLLoader, que é uma referência ao objeto Window do JavaScript. Além disso, os objetos ActionScript e JavaScript podem ouvir eventos despachados por objetos AIR e JavaScript.
A propriedade
runtime
fornece acesso a classes API do AIR, permitindo que você crie novos objetos do AIR, bem como membros de classe de acesso (também chamados estáticos). Para acessar uma API do AIR, você adiciona o nome da classe, com pacote, à propriedade
runtime
. Por exemplo, para criar um objeto File, você usaria a instrução:
var file = new window.runtime.filesystem.File();
Nota:
O SDK do AIR fornece um arquivo JavaScript,
AIRAliases.js
, que define aliases mais convenientes para as classes do AIR usadas mais comumente. Quando você importa esse arquivo, pode usar a forma mais curta air.Class em vez de window.runtime.package.Class. Por exemplo, você poderia criar o objeto File com
new air.File()
.
O objeto NativeWindow fornece propriedades para controlar a janela da área de trabalho. De uma página HTML, você pode acessar o objeto NativeWindow contido com a propriedade
window.nativeWindow
.
O objeto HTMLLoader fornece propriedades, métodos e eventos para controlar como o conteúdo é carregado e processado. De uma página HTML, você pode acessar o objeto HTMLLoader pai com a propriedade
window.htmlLoader
.
Importante:
Apenas páginas instaladas como parte de um aplicativo possuem as propriedades
htmlLoader
,
nativeWindow
ou
runtime
e apenas quando carregadas como o documento de nível superior. Essas propriedades não são adicionadas quando um documento é carregado em um frame ou iframe. (Um documento filho pode acessar essas propriedades no documento pai desde que ele esteja na mesma caixa de proteção de segurança. Por exemplo, um documento carregado em um frame poderia acessar a propriedade
runtime
de seu pai com
parent.runtime
.)