5

我正在使用 Flash 在我的网站上播放 .flv 影片剪辑,但我想让 .swf 发送在我的 javascript 开始加载、开始播放和结束播放时触发一个事件。

在 Flash CS3 中使用 Actionscript 3.0 的最佳方法是什么?

4

3 回答 3

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")

于 2008-09-01T22:11:32.540 回答
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文档

于 2008-09-01T22:03:45.117 回答
2

如果你不想加载

import flash.external.*;

所以你也可以做一个

getUrl("javascript:startsPlaying();");
于 2009-02-25T15:47:10.160 回答