我使用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公开的函数?
答案 0 :(得分:0)
基本上你需要做这样的事情:
var mySubApp:* = (myLoader.content as SystemManager).application;
mySubApp.myFunction();
此链接有更多详细信息: