我正在使用 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 进行调用,如下所述:

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

简洁版本:你说

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();");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top