下图演示了 JavaScript 环境和 AIR 运行时环境的关系。虽然只显示了一个本机窗口,但是一个 AIR 应用程序可以包含多个窗口。(并且一个窗口可以包含多个 HTMLLoader 对象。)
查看完全大小图形
JavaScript 环境具有其自己的 Document 和 Window 对象。JavaScript 代码可以通过 runtime、nativeWindow 和 htmlLoader 属性与 AIR 运行时环境交互。ActionScript 代码可以通过 HTMLLoader 对象的 window
属性与 JavaScript 环境交互,该属性是对 JavaScript Window 对象的引用。此外,ActionScript 和 JavaScript 对象均可以侦听由 AIR 和 JavaScript 对象调度的事件。
runtime
属性提供了对 AIR API 类的访问权限,使您可以新建 AIR 对象和访问类(也称为静态)成员。若要访问 AIR API,请向
runtime
属性添加该类的名称和包。例如,若要创建 File 对象,您将使用以下语句:
var file = new window.runtime.filesystem.File();
注:
AIR SDK 提供了一个 JavaScript 文件,即
AIRAliases.js
,该文件为最常用的 AIR 类定义了更便于使用的别名。导入该文件时,您可以使用 air.Class 简短形式替换 window.runtime.package.Class。例如,您可以使用
new air.File()
创建 File 对象。
NativeWindow 对象提供了用于控制桌面窗口的属性。您可以使用
window.nativeWindow
属性从 HTML 页内部访问包含的 NativeWindow 对象。
HTMLLoader 对象提供了用于控制内容的加载方式和呈现方式的属性、方法和事件。您可以使用
window.htmlLoader
属性从 HTML 页内部访问父 HTMLLoader 对象。
重要说明:
仅当作为应用程序的一部分安装的页作为顶级文档加载时,该页才具有
htmlLoader
、
nativeWindow
或
runtime
属性。将文档加载到 frame 或 iframe 中时不会添加这些属性。(只要子文档与父文档位于相同安全沙箱中,子文档即可访问父文档的这些属性。例如,加载到 frame 中的文档可以使用
parent.runtime
访问其父级的
runtime
属性
。)