外部 API 要求和优点Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本 外部 API 是 ActionScript 中的一部分,它为在 ActionScript 与充当 Flash Player 容器的“外部应用程序”(通常是 Web 浏览器或独立放映文件应用程序)中所运行的代码之间进行通信提供了一种机制。在 ActionScript 3.0 中,外部 API 的功能是由 ExternalInterface 类提供的。在 Flash Player 8 之前的 Flash Player 版本中,使用 fscommand() 动作与容器应用程序进行通信。ExternalInterface 类取代了 fscommand()。 注: 如需使用旧的 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 实例(object 和 embed 标签)的 HTML 标签在 HTML form 标签中嵌套,来自 ActionScript 的 ExternalInterface 调用将不起作用。
|
|