通过 JavaScript 访问 AIR API 类
Adobe AIR 1.0 和更高版本
除 Webkit 的标准元素和扩展元素之外,HTML 和 JavaScript 代码还可以访问运行时提供的主机类。通过这些类,可以访问 AIR 提供的高级功能,包括:
访问文件系统
使用本地 SQL 数据库
控制应用程序和窗口菜单
访问网络套接字
使用用户定义的类和对象
声音功能
例如,AIR 文件 API 包含一个 File 类,该类包含在 flash.filesystem 包中。可以在 JavaScript 中创建一个如下所示的 File 对象:
var myFile = new window.runtime.flash.filesystem.File();
runtime 对象是一个特殊的 JavaScript 对象,可用于在 AIR 应用程序沙箱中运行的 HTML 内容。使用该对象,可以通过 JavaScript 访问运行时类。runtime 对象的 flash 属性提供了对 Flash 包的访问。同样,runtime 对象的 flash.filesystem 属性提供了对 flash.filesystem 包(此包包含 File 类)的访问。包是一种对 ActionScript 中使用的类进行组织的方式。
注: 不会自动向 frame 或 iframe 中加载的页面的窗口对象添加 runtime 属性。但是,只要子级文档位于应用程序沙箱中,子级文档就可以访问父级文档的 runtime 属性。
由于运行时类的包结构要求开发人员键入长字符串的 JavaScript 代码字符串(如 window.runtime.flash.desktop.NativeApplication)来访问各个类,因此,AIR SDK 提供了一个 AIRAliases.js 文件,使用该文件,可以更方便地访问运行时类(例如,只需键入 air.NativeApplication 即可)。
本指南主要讨论 AIR API 类。HTML 开发人员可能对 Flash Player API 中的其他类感兴趣,将在《针对 HTML 开发人员的 Adobe AIR API 参考》中介绍这些类。SWF (Flash Player) 内容所使用的语言为 ActionScript。但是,JavaScript 和 ActionScript 语法是类似的。(它们都基于 ECMAScript 语言版本。)JavaScript(在 HTML 内容中)和 ActionScript(在 SWF 内容中)均包含所有内置类。
注: JavaScript 代码无法使用 Dictionary、XML 和 XMLList 类,但这些类在 ActionScript 中是可用的。