【发布时间】:2010-09-15 11:58:55
【问题描述】:
如何在 flash 中使用 actionscript 触发 javascript 函数?
目标是从 Flash 电影中触发 jQuery 功能
【问题讨论】:
标签: javascript jquery flash actionscript function
如何在 flash 中使用 actionscript 触发 javascript 函数?
目标是从 Flash 电影中触发 jQuery 功能
【问题讨论】:
标签: javascript jquery flash actionscript function
看看ExternalInterface-Class。
来自 AS3 语言参考:
ExternalInterface 类是 外部 API,一个应用程序 编程接口,使 之间的直接沟通 ActionScript 和 Flash Player 容器——例如,一个 HTML 页面 使用 JavaScript。 Adobe 推荐 对所有人使用 ExternalInterface JavaScript-ActionScript 通信。
它的工作原理是这样的:
ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
ExternalInterface.call("sendToJavaScript", input.text);
您可以提交参数并接收回调...很酷,对吧? ;)
据我所知,它也适用于 AS2...
【讨论】:
正如 Jochen 所说,ExternalInterface 是可行的方法,我可以确认它适用于 AS2。
如果您打算触发导航或任何影响 Flash 所在区域的操作,请不要直接从您从 Flash 调用的函数中执行此操作。 Flash 期望它调用的函数有一个返回值,如果函数完成时 Flash 对象不存在,则 Flash 插件将崩溃。
如果您需要导航或更改内容,您可以添加一个 setTimeout 调用(到您的 js 函数中)。这将创建一个新线程并为 flash 提供它期望的返回值。
【讨论】: