如何在Javascript和Flex之间进行通信?

时间:2012-02-20 15:28:15

标签: javascript html flash flex air

我有一个窗口化的Flex应用程序(AIR),它使用HTML文件作为用户界面,但我有一些需要在加载页面时执行的Flex代码。

我已使用< 将HTML界面导入到应用中mx:HTML />标签即可。 http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_5.html上的Adobe帮助显示了javascript和flex之间的通信方式,但前提是您在浏览器中使用外部HTML文件,而不是在窗口应用中。

所以我的问题是:如何从javascript中调用flex方法,该方法将在窗口化/ AIR 应用程序中返回数据?

任何帮助都将受到赞赏,因为我对flex / flash很新。

2 个答案:

答案 0 :(得分:1)

它也适用于窗口应用。使用ExternalInterface

Flex - > JS

ExternalInterface.call("jsFunction", {par:value});

js - >挠性

flashObject = document.getElementById(flashid);

if( flashObject ) {
    flashObject.flexMethod("par");
} else {
    alert('Error! could not get flash object');
}

http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_4.html

答案 1 :(得分:1)

您需要注意的是HTMLLoader类的文档,例如http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7ed4.html