我非常困惑,我花了一整天的时间去做一件非常容易的事情。我只想用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
答案 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中测试过它,它可以工作。