在Flex中嵌入SWF文件并与ExternalInterface函数交互

时间:2011-09-01 19:59:46

标签: flash flex actionscript-3 embed

我使用SWF文件,使用ExternalInterface公开函数和事件。以下是公开函数的示例:

ExternalInterface.addCallback("myFunction", ExecuteMyFunction);

如果我将文件嵌入HTML页面,我可以使用JavaScript访问这些功能。

现在,我使用mx:SWFLoader组件在Flex应用程序中动态嵌入相同的SWF文件,如:

<mx:SWFLoader id="myLoader" source="http://localhost/file.swf" autoLoad="true"/>

我正在尝试访问这些公开的函数和事件,但我找不到如何与Flex应用程序中的那些进行交互。我希望能够像JavaScript一样调用函数,例如:

myLoader.myFunction();

如何访问Flex中ExternalInterface公开的函数?

1 个答案:

答案 0 :(得分:0)

基本上你需要做这样的事情:

var mySubApp:* = (myLoader.content as SystemManager).application;
mySubApp.myFunction();

此链接有更多详细信息:

Accessing sub-applications from the main application