【问题标题】:How do you trigger javascript functions from flash?你如何从 Flash 触发 javascript 函数?
【发布时间】:2010-09-15 11:58:55
【问题描述】:

如何在 flash 中使用 actionscript 触发 javascript 函数?

目标是从 Flash 电影中触发 jQuery 功能

【问题讨论】:

    标签: javascript jquery flash actionscript function


    【解决方案1】:

    看看ExternalInterface-Class。
    来自 AS3 语言参考:

    ExternalInterface 类是 外部 API,一个应用程序 编程接口,使 之间的直接沟通 ActionScript 和 Flash Player 容器——例如,一个 HTML 页面 使用 JavaScript。 Adobe 推荐 对所有人使用 ExternalInterface JavaScript-ActionScript 通信。

    它的工作原理是这样的:

    ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
    ExternalInterface.call("sendToJavaScript", input.text);
    

    您可以提交参数并接收回调...很酷,对吧? ;)

    据我所知,它也适用于 AS2...

    【讨论】:

    • 您可能有错字,因为即使您是示例,也显示提交参数和接收回调
    【解决方案2】:

    正如 Jochen 所说,ExternalInterface 是可行的方法,我可以确认它适用于 AS2。

    如果您打算触发导航或任何影响 Flash 所在区域的操作,请不要直接从您从 Flash 调用的函数中执行此操作。 Flash 期望它调用的函数有一个返回值,如果函数完成时 Flash 对象不存在,则 Flash 插件将崩溃。

    如果您需要导航或更改内容,您可以添加一个 setTimeout 调用(到您的 js 函数中)。这将创建一个新线程并为 flash 提供它期望的返回值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多