无法从JavaScript调用Flash AS3函数

时间:2014-09-21 23:57:41

标签: javascript actionscript-3 flash

我非常困惑,我花了一整天的时间去做一件非常容易的事情。我只想用JavaScript调用Flash函数 - 就是它。

ActionScript代码:

import flash.display.Loader;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.external.ExternalInterface;
import flash.net.FileReference;             
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.system.Security;

Security.allowDomain("*");
ExternalInterface.addCallback("test", test);

function test()
{
    ExternalInterface.call("alert", "Doesn't Work");
}

的JavaScript / HTML

    <h1>Test</h1>
    <script>
        function getFlashMovie(movieName) {
            var isIE = navigator.appName.indexOf("Microsoft") != -1;
            return (isIE) ? window[movieName] : document[movieName];
        }
        function poc() {
            getFlashMovie( "Test" ).test();
        }
    </script>
    <button onclick="poc()">Click Me!</button>

这不起作用,功能&#39;测试&#39;对象&#39;测试&#39;

不存在

我以为我在这里要求作为最后的努力。这是我的实例: http://itsclassified.info/flash/Test.html

1 个答案:

答案 0 :(得分:0)

以下是给定页面http://itsclassified.info/flash/Test.html

的一些js代码
<object type="application/x-shockwave-flash" data="Test.swf" name="POC" width="1" height="1">
                <param name="movie" value="Test.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffffff" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="always" />
            <!--<![endif]-->
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->

尝试更改

name="POC"

name="Test"

我在chrome和IE11中测试过它,它可以工作。