通过 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 中是可用的。