我试图通过ExternalInterface
将数据从Flash传递到Javascript。 当我在本地主机上测试时,它工作正常,但是当我尝试在IIS上设置网站时,所以我的同事可以测试我的应用程序,例如:http://192.168.0.10/MyApp,我收到此错误:使用Flash ExternalInterface时出错
Error calling method on NPObject.
在读#1的一些问题后,我试图设置allowScriptAccess="always"
在我的嵌入标签和Security.allowDomain(*)
我的AS文件,但它仍然无法正常工作。
如果有问题,我正在使用swf object。
我错过了什么?
编辑:当我尝试从 JS调用的方法我SWF出现的错误。这是适合答案的代码。
var swfReady = false;
swfobject.embedSWF("swf/1.swf", "flashContent", "300", "250", "11", "expressInstall.swf", null, { allowScriptAccess: "always" } , null, function (e) {
if (e.success) {
setTimeout(function() {
swfReady = true;
}, 150);
}
});
btnConfig.on('click', function() {
if (swfReady) {
flashContent.myMethod();
} else {
alert("Hold on...");
}
});
这在本地主机的伟大工程,但是,当有人试图通过我的IP查看相同的页面,我得到的JavaScript错误Error calling method on NPObject
。
检查你做了'的Security.allowDomain(“*”);''你打电话ExternalInterface'前 – 2011-12-20 11:26:25
我在我的AS3类的构造函数设置它。是对的吗? – 2011-12-20 11:51:25
SWF文件与嵌入的HTML页面位于同一个域中吗? – 2011-12-20 11:54:57