如何制作flash cs3,actionscript将事件发送到javascript?

时间:2008-09-01 20:44:38

标签: javascript flash actionscript

我正在使用Flash在我的网站上播放.flv动画片段,但我想让.swf在我的javascript中发送触发器,当它开始加载,开始播放和结束播放时。

使用Actionscript 3.0在Flash CS3中执行此操作的最佳方法是什么?

3 个答案:

答案 0 :(得分:5)

您需要在HTML中使用“allowScriptAccess”flash变量。您可能希望使用“sameDomain”作为类型。请注意,如果你进入跨域,你还需要在服务器上托管一个名为“crossdomain.xml”的特殊文件,该文件启用了这样的脚本(flash播放器将检查这一点。http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2的更多信息

电话很容易。 :-)在Flash代码中,您将使用ExternalInterface进行调用,如下所示:

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001655.html

简短版:你说

  

ExternalInterface.call(“javascriptFunction”,“argument”)

答案 1 :(得分:4)

执行此操作的常用方法是使用 ExternalInterface 类,您可以使用该类调用JavaScript方法。

首先定义您的JavaScript方法,例如:

<script language="JavaScript">
    function startsPlaying()
    {
        // do something when the FLV starts playing
    }
</script>

然后修改ActionScript以在适当的时间调用JavaScript方法:

// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");

有关详细信息,请参阅相关的Flash CS3 documentation

答案 2 :(得分:2)

如果您不想加载

import flash.external.*;

所以你也可以做一个

getUrl("javascript:startsPlaying();");