外部 API 要求和优点

外部 API 是 ActionScript 中的一部分,它为 ActionScript 与作为 Flash Player 容器的外部应用程序(通常是 Web 浏览器或独立放映文件应用程序)中运行的代码之间进行通信提供了一种机制。在 ActionScript 3.0 中,外部 API 的功能是由 ExternalInterface 类提供的。在 Flash Player 8 之前的 Flash Player 版本中,使用 fscommand() 动作与容器应用程序进行通信。ExternalInterface 类替代了 fscommand(),是 JavaScript 与 ActionScript 之间的所有通信的推荐使用机制。

注意

 

如需使用旧的 fscommand() 函数(例如,为了与较早的应用程序保持兼容或与第三方 SWF 容器应用程序或独立的 Flash Player 进行交互),仍可将其作为 flash.system 包中的包级函数来使用。

ExternalInterface 类是一个子系统,通过它可以轻松地实现从 ActionScript 和 Flash Player 到 HTML 页中的 JavaScript 或任何包含 Flash Player 实例的台式机应用程序的通信。

ExternalInterface 类只在以下情况下可用:

在其它所有情况下(例如,在独立的播放器中运行),ExternalInterface.available 属性均返回 false

从 ActionScript 中,可以在 HTML 页上调用 JavaScript 函数。与 fscommand() 相比,外部 API 可提供以下改进功能:

警告

 

如果为 HTML 页中的 Flash Player 实例指定的名称(object 标签的 id 属性)包含连字符 (-) 或在 JavaScript 中定义为运算符的其它字符(如 +*/\. 等),则在 Internet Explorer 中查看容器网页时,将无法从 ActionScript 调用 ExternalInterface。

此外,如果定义 Flash Player 实例的 HTML 标签(objectembed 标签)嵌套在 HTML form 标签中,也将无法从 ActionScript 调用 ExternalInterface。


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000339.html