Flex与JavaScript如何进行交互
Flex与JavaScript如何进行交互,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在学习Flex的过程中你可能会遇到Flex与JavaScript交互的问题,这里和大家分享一下,主要包括Flex调用JavaScript中的函数和JavaScript调用Flex中的函数两大部分内容。
Flex与JavaScript交互
Flex 与JavaScript 交互,主要依靠Flex的ExternalInterface,其提供了addCallBack和call方法。
◆先来看Flex调用JavaScript中的函数
FlexConnectJavaScript.mxml
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ importflash.external.*; publicfunctioninvokeJavaScript():void { lblResult.text=ExternalInterface.call("returnTheName","huangxi"; } ]]> </mx:Script> <mx:Buttonidmx:Buttonid="btnConnect"label="调用JavaScript"click="invokeJavaScript()"x="229"y="204"/> <mx:Labelidmx:Labelid="lblResult"text="test"x="205"y="99"width="150"height="80"/> </mx:Application> FlexConnectJavaScript.html中<Script>加入 functionreturnTheName(a) { return"HUANGXI"; } ////////////////////////
小结
ExternalInterface.call("returnTheName","huangxi");其中***个参数与JavaScript中的函数相同,第二个参数为传递参数。
◆再来看JavaScript调用Flex中的函数
JavaScriptConnectFlex.mxml
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"creationComplete="initApp()"> <mx:Script> <![CDATA[ importflash.external.ExternalInterface; publicfunctionadd():int { vari:int; varsum:int=0; for(i=1;i<=100;i++) { sum+=i; } returnsum; } publicfunctioninitApp():void { ExternalInterface.addCallback("addTo100",add); } ]]> </mx:Script> </mx:Application> JavaScriptConnectFlex.html中加入 <buttononclickbuttononclick="addMethod()">计算</button> ... 中加入 functionaddMethod() { vars=JavaScriptConnectFlex.addTo100(); alert(s); } ///////////////
ExternalInterface.addCallback("addTo100",add);定义JavaScript可以调用的方法
可见JavaScript要调用Flex函数,Flex要声明一下;而Flex调用JavaScript函数则不需要
看完上述内容,你们掌握Flex与JavaScript如何进行交互的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341