基本Flash问题 - 在电影结束时调用javascript函数

时间:2011-02-10 16:01:49

标签: javascript flash

我是一名.net开发人员,不知何故最终试图让一些Flash工作 - 这对我来说是全新的,所以请耐心等待!

我想在弹出窗口中显示Flash视频,当视频播放完毕后,使用javascript函数“closeIt”关闭窗口:

<script>
 function closeIt() {
  alert("About to close...");
  //code to close window here...
 }
</script>

我怎样才能做到这一点?我已将视频导入Flash(选择“使用播放组件加载外部视频”)。这是在frame1中。我认为在第二帧中我可以在Actions窗口中调用ExternalInterface.call(“closeIt”)。我试过这个,但是当我在网络浏览器中发布和查看flash电影时,我从未看到过javascript警报。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

AS3,选项1:

import flash.external.ExternalInterface;

(...)

ExternalInterface.call("closeIt()");

AS3,选项2:

var request:URLRequest = new URLRequest("javascript:closeIt();");
navigateToURL(request, "_self");

您也需要前面提到的两种方法的allowcript访问权限:

<param name="allowscriptaccess" value="always" />

答案 1 :(得分:1)

您可以从flash调用JavaScript函数。

首先,您将在主机HTML页面中更新您的OBJECT / EMBED脚本,以包括:

<param name="allowscriptaccess" value="always" />

然后,您可以从代码中执行JavaScript方法调用,如:

getUrl('javascript:closeIt();');

答案 2 :(得分:1)

坚持使用AS3。您想使用ExternalInterface类。课程参考:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

示例用法:

// import the package
import flash.external.ExternalInterface

// then launch that alert
ExternalInterface.call("closeIt");

另外我建议您使用firebug http://getfirebug.com来调试它的JS部分。