使用 javascript 与 actionscript 3.0 交互

Posted

技术标签:

【中文标题】使用 javascript 与 actionscript 3.0 交互【英文标题】:Interacting with actionscript 3.0 using javascript 【发布时间】:2010-10-02 09:27:22 【问题描述】:

正如标题所说...我正在尝试通过 javascript 与我的 Flash 电影的动作脚本进行交互。具体来说,我正在尝试将文本发送到我的 Flash 电影。我遇到了几个有一些演练的网站,但我一生都无法让它们工作。

来自 adobe 网站。 http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15683&sliceId=1

真正酷的是他们的源文件下载链接已经死了。并遇到另一个帖子:

http://www.jesuscarrera.info/2009/01/05/communication-between-actionscript-3-and-javascript/

下载工作...除了 fla 文件是空白的并且运行 html 页面,您可以接收来自 flash 电影的文本...但是您不能将文本从 html 发送到 flash 电影。

我非常严格地遵循了这些步骤,任何人都可以通过 adobe 网站上的说明看到任何问题吗?如果任何人都可以帮助我,你能发布这个功能的源示例吗?感谢大家的宝贵时间!

【问题讨论】:

【参考方案1】:

您发布的示例使用 ExternalInterface 类从 Flash 与 Javascript 进行通信。您可以使用 ExternalInterface 添加回调,但如果您需要从 DOM (HTML) 触发一个函数,该函数会转到 FLASH。

好的,现在要从 Javascript 获取值到 Flash,有几个选项。 您可以使用 ExternalInterface 类设置回调函数。这是来自 Live Docs 的示例link text

如果您需要在没有任何 Flash 交互的情况下从 Javascript 调用 Flash(例如播放视频或其他内容),您将再次使用 ExternalInterface。这是一个 AS3 示例link text

这是回答您问题的 AS2 示例:

//AS2
import flash.external.*;
function helloWorld():Void

    //Do something

ExternalInterface.addCallback("myFunction", helloWorld);

// HTML
<script language="JavaScript">

    flashObject.myFunction();
</ script>
...
<object id="flashObject"...>
    ...
    <embed name="flashObject".../>
</object>

【讨论】:

以上是关于使用 javascript 与 actionscript 3.0 交互的主要内容,如果未能解决你的问题,请参考以下文章

编写高质量代码:Web前端开发修炼之道pdf

程序员应该如何开始使用Flash / Flex / ActionScript?

如何断开 rtmp 连接?

javascript与python的比较

使用 javascript 与 php 进行表单验证

使用 Javascript 与 SQL 服务器握手