我确信我在这里遗漏了一些明显的东西,因为我对 Flash 编程完全陌生,但我的 Actionscript 无法访问我的 javascript。
AS3。我创建了一个新的 .fla,并将文档类设置为 Test。
package {
import flash.events.Event;
import flash.external.ExternalInterface;
import flash.display.MovieClip;
public class Test extends MovieClip{
Test(){
ExternalInterface.call("test");
}
}
}
JS
$(function(){
embed();
});
function test(){
alert("hi");
}
function embed(){
swfobject.embedSWF("test.swf","test","642","410","11.7.0");
}
它正确嵌入了对象,但测试警报永远不会响起。我从受信任的文件夹和本地托管的 Web 服务器运行它。在 Debug模式下,它正确地进行调用并且ExternalInterface.available 为true,因此看起来好像应该进行调用。知道为什么它不会消失吗?
最佳答案
尝试为您嵌入的 swf 提供一个 id,将您的 embed() 替换为:
function embed(){
var flashvars = {};
var params = {};
var attributes = {
id: "test",
name: "test"
};
swfobject.embedSWF("test.swf","test","642","410","11.7.0","expressInstall.swf", flashvars, params, attributes);
}
关于javascript - ActionscriptExternalInterface调用未到达javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20245515/