如何使 flash cs3、actionscript 向 javascript 发送事件?
-
09-06-2019 - |
题
我正在使用 Flash 在我的网站上播放 .flv 影片剪辑,但我想让 .swf 在开始加载、开始播放和结束播放时触发我的 javascript 中的事件。
使用 Actionscript 3.0 在 Flash CS3 中执行此操作的最佳方法是什么?
解决方案
您需要在 HTML 中使用“allowScriptAccess”flash 变量。您可能想使用“sameDomain”作为类型。请注意,如果您要跨域,您还需要在服务器上托管一个名为“crossdomain.xml”的特殊文件,该文件启用此类脚本(Flash 播放器将检查这一点)。更多信息请访问 http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2
通话是最简单的部分。:-) 在 Flash 代码中,您将使用ExternalInterface 进行调用,如下所述:
简洁版本:你说
ExternalInterface.call("javascriptFunction", "参数")
其他提示
执行此操作的常见方法是使用 外部接口 类,您可以使用它来调用 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 文档.
如果你不想加载
import flash.external.*;
所以你也可以做一个
getUrl("javascript:startsPlaying();");
不隶属于 StackOverflow