这是我的问题:
我在JavaScript中使用此类:
var c = new MyClass();
c.myFunction();
c.myFunction2();
c.myFunction3();
//and so on...
如何使用ExternalInterface.call
?
我不能这样做:ExternalInterface.call("c.myFunction"));
答案 0 :(得分:4)
为了使其正常工作,您尝试从Flash调用的对象需要具有全局范围。即,这不起作用:
// closure to keep vars out of global scope - generally a good thing!
(function() {
var c;
function MyClass() {
}
MyClass.prototype.myFunction = function() {
alert('Do something!');
}
c = new MyClass();
})();
... meanwhile, in Flash ...
ExternalInterface.call("c.myFunction");
您需要的是对象的全局入口点。但是你得到了什么错误?你从电话中回来了null
吗?是否抛出任何特定错误?
答案 1 :(得分:3)
是的,您可以(执行此操作:ExternalInterface.call(“c.myFunction”))。
答案 2 :(得分:0)
将其发布到服务器并以这种方式调用html页面 在flex项目文件系统中运行时,ExternalInterface存在问题 最像是嵌入/跨域问题。