javascript - 为什么我的 ActionScript3 不调用我的 JavaScript 函数?

标签 javascript flash actionscript-3 actionscript

我有一些播放影片剪辑的 ActionScript 。当影片剪辑结束时,我希望 Javascript 从页面中删除 Flash 对象。我似乎无法让它工作。

当我在 Flash 中测试 ActionScript 时,我没有收到任何编译错误,并且我的跟踪全部按照我的预期执行。我也没有收到任何 JavaScript 错误,认为 RemoveFlash() 函数永远不会被调用。

这是我的 ActionScript3:

import fl.video.*;
import flash.external.ExternalInterface;

MyPlayer.addEventListener(VideoEvent.COMPLETE, completePlay);

MyButton.addEventListener(MouseEvent.MOUSE_DOWN, interruptPlay);

function completePlay(e:VideoEvent):void
{
    trace("video completed");
    ExternalInterface.call("RemoveFlash");
}

function interruptPlay(e:MouseEvent):void
{
    trace("video interrupted");
    MyPlayer.stop();
    ExternalInterface.call("RemoveFlash");
}

这是我的 JS:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script language="javascript" type="text/javascript" src="/Scripts/jquery-1.5.min.js"></script>
    <script type="text/javascript" src="/Scripts/swfobject2.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){

            // Remove GreenPlayer
            function RemoveFlash()
            {
                alert("remove");
                $("#GreenPlayer").remove();
            }

            // add greenscreen swf
            var flashvars = {};
            flashvars.AllowScriptAccess="always";

                    var params = {};
            params.wmode = "transparent";
            params.AllowScriptAccess = "always";

            swfobject.embedSWF("/swf/GreenPlayer2.swf", "GreenPlayer", "200", "400", "8.0.0", '', flashvars, params);

        });
    </script>
</head>
<body>
        <div id="GreenPlayer">asd</div>
</body>
</html>

有什么想法吗?

最佳答案

也许 RemoveFlash() 函数超出了 swf 的范围,因为它位于匿名函数中。尝试将 RemoveFlash() 函数移至全局范围($(document).ready 之外),看看是否有帮助。

关于javascript - 为什么我的 ActionScript3 不调用我的 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5146361/

相关文章:

javascript - VS 代码中的 jsDoc @callback

flash - 如何在 AS3 flash 中暂停/播放嵌入声音

mysql - 为什么 mySQL 中会发生重复(和不需要的)插入?

apache-flex - 相当于 <mx :HTML> Component 的 "View Source"

apache-flex - 如何防止用户鼠标单击与 Flex Spark slider 的交互?

php - 一个元素可以包含多少行

javascript - CSS(滚动): why is it not possible to base the command on class name instead of id?

javascript - 是否可以在上传前检查图像尺寸?

Flash HTTP 流式传输

php - HTML 表单 -> Flash 提交按钮 -> 在 Flash 按钮中设置 PHP 变量 -> 提交表单