如何从 Flash 触发 javascript 函数?

How do you trigger javascript functions from flash?

提问人:Jiaaro 提问时间:10/6/2008 更新时间:10/6/2009 访问量:4893

问:

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

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

JavaScript jQuery Flash ActionScript 函数

评论


答:

13赞 jochil 10/6/2008 #1

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

ExternalInterface 类是 外部 API,应用程序 编程接口,使 直接沟通 ActionScript 和 Flash Player container– 例如,HTML 页面 使用 JavaScript。Adobe 建议 将 ExternalInterface 用于所有 JavaScript-ActionScript 通信。

它的工作原理是这样的:

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

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

据我所知,它也可以在 AS2 上运行......

评论

0赞 Gene 10/6/2008
您可能有拼写错误,因为即使您的示例也显示提交参数和接收回调
4赞 Gene 10/6/2008 #2

正如 Jochen 所说,ExternalInterface 是要走的路,我可以确认它适用于 AS2。

如果您计划触发导航或任何影响闪光灯所在区域的事情,请不要直接从您从闪光灯调用的函数中执行此操作。Flash 需要从它调用的函数返回值,如果函数完成时 flash 对象不存在,则 flash 插件将崩溃。

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