用户名:  密码:
兄弟在线   

标题:flash as 外部 3.0 API 要求和优点

作者:佚名 来源:一聚教程 时间:2011-09-15

外部 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 类只在以下情况下可用:

  • 在所有受支持的 Internet Explorer for Windows 版本(5.0 和更高版本)中

  • 在容器应用程序(例如使用 Flash Player ActiveX 控件实例的台式机应用程序)中

  • 在支持 NPRuntime 接口的任何浏览器中(当前包括 Firefox 1.0 和更高版本、Mozilla 1.7.5 和更高版本、Netscape 8.0 和更高版本以及 Safari 1.3 和更高版本)。

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

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

  • 可以使用任何 JavaScript 函数,而不仅仅是可与 fscommand() 函数一起使用的函数。

  • 可以传递任意数量的、具有任意名称的参数;而不是仅限于传递一个命令和一个字符串参数。这为外部 API 提供了比 fscommand() 大得多的灵活性。

  • 可以传递各种数据类型(例如 Boolean、Number 和 String);不再仅限于 String 参数。

  • 可以接收调用值,该值将立即返回到 ActionScript(作为进行的调用的返回值)。

重要说明: 如果为 HTML 页中的 Flash Player 实例指定的名称(object 标签的 id 属性)包含有连字符 (-) 或在 JavaScript 中定义为运算符的其它字符(如 +*/.,等等),那么在 Internet Explorer 中查看容器网页的时候将无法从 ActionScript 调用 ExternalInterface。此外,如果定义 Flash Player 实例的 HTML 标签(objectembed 标签)嵌套在 HTML form标签中,也将无法从 ActionScript 调用 ExternalInterface。


编辑:admin 总点击 [1051]   评论  0 查看评论
上一篇:flash as 3.0 AMF3编码分析
下一篇:flash as 3.0 控制声音程序代码
【关闭窗口】
您可能感兴趣的文章
我要评论
          
评论标题:   可以输入250
 
验证数字: 8 + 0 =
兄弟友情提示
· 请自觉遵守国家有关法律、法规,尊重网上道德。
· 兄弟在线坚决抵制不良言行,违者文责自负。
· 如果文章有版权或其他问题等,请联系我们,我们会尽快处理。
· 文章注名来自网络的旨在传播共享信息,不做其它用途;注名原创的本站支持原创,但不代表同意其观点。
· 兄弟在线拥有管理用户与其文章和评论的一切权利,并有权在网站内转载或引用。
兄弟在线
兄弟热门文章
兄弟推荐文章
兄弟站内搜索

兄弟感兴趣的文章
兄弟最新影视