我正在使用Flash在我的网站上播放.flv动画片段,但我想让.swf在我的javascript中发送触发器,当它开始加载,开始播放和结束播放时。
使用Actionscript 3.0在Flash CS3中执行此操作的最佳方法是什么?
答案 0 :(得分:5)
您需要在HTML中使用“allowScriptAccess”flash变量。您可能希望使用“sameDomain”作为类型。请注意,如果你进入跨域,你还需要在服务器上托管一个名为“crossdomain.xml”的特殊文件,该文件启用了这样的脚本(flash播放器将检查这一点。http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2的更多信息
电话很容易。 :-)在Flash代码中,您将使用ExternalInterface进行调用,如下所示:
简短版:你说
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();");