如何检测flash影片已经完成了javascript / jquery的播放,然后运行一个函数

时间:2011-01-11 22:41:19

标签: javascript jquery flash

我需要创建一个启动页面类型的东西。它需要播放一个flash电影,然后当电影完成时使用html / js显示全屏图像。电影将闪光,图像显示将以javascript为动力。

我不知道如何在一个页面上执行此操作。任何帮助都会很棒。

感谢您的阅读。

2 个答案:

答案 0 :(得分:1)

您需要使用ExternalInterface。例如:

try {
ExternalInterface.call("myfunction");
} catch(e:Error) {
trace(e)
}

根据flash影片的构造方式,当动画到达最后一帧时,运行ExternalInterface.call(“myfunction”);将在javascript中调用一个名为“myfunction”的函数。例如:

<script type="text/javascript">
function myfunction()
{
   alert("hello!"); // replace with some jquery 
}
</script>

我无法真正说出如何将它放入电影中,因为我不知道你的电影是使用动作动画或时间轴动画构建的,还是你想要播放flash视频。 (如果您正在使用视频,则可以为Event.COMPLETE附加事件监听器并在那里完成所有操作)。如果是动作脚本动画,则需要找到补间或其他内容的结尾。 将它包装在try / catch中只是为了安全起见。您需要确保在嵌入swf时,您有allowScriptAccess = always或sameDomain。 Reference here

答案 1 :(得分:0)

可能有更好的方法可以做到这一点,但在Flash影片中你可以使用ExternalInterface来调用javascript函数。因此,您可以设置一个动作脚本函数,以便在电影结束时运行,并调用javascript函数来执行您需要对网站执行的任何操作。

- 免责声明 - 我没有现金升级我的Flash,所以我仍然使用动作2.我提到的对象现在可能已被弃用 - 但它仍然有用。