Javascript ActionScript3中类似JSObject的东西?
我想问一下,对于ActionScript3是否有liveconnect等价物。我知道AS3中有ExternalInterface类,但它只支持按名称调用方法。Java和LiveConnect最酷的一点是,您可以执行以下操作Javascript ActionScript3中类似JSObject的东西?,javascript,actionscript-3,Javascript,Actionscript 3,我想问一下,对于ActionScript3是否有liveconnect等价物。我知道AS3中有ExternalInterface类,但它只支持按名称调用方法。Java和LiveConnect最酷的一点是,您可以执行以下操作 function jsFunc(name) = { this.name = name; this.talk = function(){ alert('hello world my name is ' + this.name); } } javaapple
function jsFunc(name) = {
this.name = name;
this.talk = function(){
alert('hello world my name is ' + this.name);
}
}
javaapplet.function(new jsFunc("bob"));
上面的方法是伪代码,因为我从未测试过它,但我已经看到了它的实际应用。在AS3中,虽然我能够将JavaScript“object”的实例传递到AS中,但它通常会转换为ActionScript对象实例,据我所知,该实例会删除所有函数
我看到了JSInterface的一个实现,但我认为它并没有具体做到这一点。有没有办法让类似OO的javascript与ActionScript3一起工作?实际上,主要的使用场景是让JS“对象”与Flex SWF应用程序交互。因此,当JS“object”想要说wait for SWF对象中发生的事情时,它会在回调中放入一个“this”
ExternalInterface.call("f = function() { alert('Is this like live connect?'); }");
经过研究,我使用的方法是通过Flex Ajax桥来实现这一点。这可能不是我对问题措辞的直接回答,但它足以满足我的需要
基本上我所做的是通过FABridge,在初始化之后,我会将事件侦听器附加到对象
// JS
FlexApp.addEventListeners('flexDidSomething', this.doSomething().bind(this)); //using mootools;
在Flex中,主要应用程序本身
// AS
dispatchEvent(new CustomCreatedEvent(param1, param2));
在JS函数中,我将访问事件对象的get方法来检索参数
从这个意义上讲,它是紧密耦合的,但它至少能满足我的需要
希望这是有帮助的 实际上,主要的使用场景是让JS“对象”与Flex SWF应用程序交互。因此,当JS“object”想要说wait for SWF对象中发生的事情时,它会在回调中放入一个“this” 经过研究,我使用的方法是通过Flex Ajax桥来实现这一点。这可能不是我对问题措辞的直接回答,但它足以满足我的需要 基本上我所做的是通过FABridge,在初始化之后,我会将事件侦听器附加到对象
// JS
FlexApp.addEventListeners('flexDidSomething', this.doSomething().bind(this)); //using mootools;
在Flex中,主要应用程序本身
// AS
dispatchEvent(new CustomCreatedEvent(param1, param2));
在JS函数中,我将访问事件对象的get方法来检索参数
从这个意义上讲,它是紧密耦合的,但它至少能满足我的需要
希望这是有帮助的 JSInterface正是为这些东西而设计的。JSInterface正是为这些东西而设计的。在谷歌代码上试试这个库:
在谷歌代码上尝试此库:
该代码将违反Flash安全沙箱。(错误#2060)哪个版本的Flash Player?只有在嵌入Flash对象时未设置正确的参数时,才会违反该版本。该代码将违反Flash安全沙盒。(错误#2060)什么版本的Flash Player?只有在嵌入Flash对象时未设置正确的参数时,才会违反此规则。您要求的是将一个包含函数的对象从JS传递到Flash。对吗?你要求的是将一个包含函数的对象从JS传递到Flash。是吗?回答,是的。我发现了一个停止播放的bug,并将其归档,然后切换到FABridge(用于酷的init回调),并使用路由器路由回请求。JSInterface的作者说这个bug在最新的point版本中已经修复了。回复,是的。我发现了一个停止播放的bug,并将其归档,然后切换到FABridge(用于酷的init回调),并使用路由器路由回请求。JSInterface的作者说这个bug在最新的point版本中已经修复。