使用外部 API

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

借助 ActionScript 3.0 外部 API (flash.external.ExternalInterface),可在 ActionScript 与在其中运行 Adobe Flash Player 的容器应用程序之间实现直接通信。使用 ExternalInterface API 可在 HTML 页面中的 SWF 文档和 JavaScript 之间创建交互。

您可以使用外部 API 与容器应用程序进行交互,在 HTML 页面中的 ActionScript 和 JavaScript 之间传递数据。

一些常见的外部 API 任务是:
  • 获取有关容器应用程序的信息

  • 使用 ActionScript 在浏览器中显示的网页或 AIR 桌面应用程序中调用代码

  • 从网页中调用 ActionScript 代码

  • 创建代理以简化从网页中调用 ActionScript 代码

注: 有关外部接口的讨论仅涉及 SWF 文件中的 ActionScript 和容器应用程序之间的通信,该应用程序包含对 Flash Player 或已加载 SWF 文件的实例的引用。应用程序中其他任何使用 Flash Player 的情况都不在本文档的讨论范围之内。Flash Player 用作浏览器插件或放映文件(独立应用程序)。可能还在一定程度上支持其他使用方案。

在 AIR 中使用外部 API

由于 AIR 应用程序没有外部容器,因此通常不使用也不需要此外部接口。AIR 应用程序直接加载 SWF 文件时,应用程序代码可直接与 SWF 中的 ActionScript 代码通信(受安全沙箱限制约束)。

但是,当 AIR 应用程序使用 HTMLLoader 对象中的 HTML 页面(或 Flex 中的 HTML 组件)加载 SWF 文件时,该 HTMLLoader 对象将用作外部容器。因此,您可以使用外部接口在加载的 SWF 中的 ActionScript 代码和在 HTMLLoader 中加载的 HTML 页面中的 JavaScript 代码之间通信。