从flash到Javascript OOP对象的外部接口调用
这是我的问题: 我有一个JavaScript类:从flash到Javascript OOP对象的外部接口调用,javascript,actionscript-3,actionscript,Javascript,Actionscript 3,Actionscript,这是我的问题: 我有一个JavaScript类: var c = new MyClass(); c.myFunction(); c.myFunction2(); c.myFunction3(); //and so on... 如何使用外部接口调用 我不能这样做:ExternalInterface.call(“c.myFunction”)是的,您可以(执行此操作:ExternalInterface.call(“c.myFunction”)。为了使其工作,您尝试从Flash调用的对象需要具有全局作
var c = new MyClass();
c.myFunction();
c.myFunction2();
c.myFunction3();
//and so on...
如何使用外部接口调用
我不能这样做:ExternalInterface.call(“c.myFunction”)代码>是的,您可以(执行此操作:ExternalInterface.call(“c.myFunction”)。为了使其工作,您尝试从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
?是否引发了任何特定错误?将其发布到服务器并以这种方式调用html页面。
ExternalInterface在flex项目文件系统中运行时出现问题。
最有可能的是,这是一个嵌入/跨域问题。它在Omer中不起作用。我看不出与我发布的内容有什么不同。+1它应该可以工作,如果没有,你在其他地方有bug。“c”在什么范围内?谢谢提醒。当人们开始使用jQuery时,他们只是忘记了什么是什么,开始想为什么它不起作用。