flex与javascript互相通信:使用ExternalInterface

前端之家收集整理的这篇文章主要介绍了flex与javascript互相通信:使用ExternalInterface前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文链接:http://blog.csdn.net/xingfeng0501/article/details/7834180

(1):在Flex中有这么一个类:ExternalInterface.在这个类中它给我们:call和addCallback Flex中As调用Js的方法是:      1、导入包 (import flash.external.ExternalInterface;)      2、使用ExternalInterface.call("Js函数名称",参数)进行调用,其返回的值就是Js函数所返回的值   Js调用As的方法是:      1、导入包 (import flash.external.ExternalInterface;)      2、在initApp中使用ExternalInterface.addCallback("用于Js调用函数名",As中的函数名)进行注册下      3、js中 就可以用document.getElementById("Flas在Html中的ID").注册时设置的函数名(参数)进行调用. (2):实例演习: [1]:flex调用javascript中的函数: mxml: <mx:Script>  <![CDATA[   import mx.controls.Alert;   internal function jspHello():void {    var taStr:String = this.ta.text;    var s:String = ExternalInterface.call("hello",taStr);    Alert.show(s);       }  ]]> </mx:Script> <mx:Button x="480" y="84" label="flex call javascript" click="jspHello()"/> <mx:TextArea id="ta" x="265" y="85" height="80" width="199"/> javascript中的函数: js:  <script type="text/javascript">    function hello(param) {     return "Hello: + param;    }   </script> 打印出来是:Hello: *****. [2]:javascript调用Flex中的函数 mxml: <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initApp();">  <mx:Script>   <![CDATA[    import mx.controls.TextArea;    internal function initApp():void {     ExternalInterface.addCallback("callBackFlex",testJavascript);    }        public function testJavascript():String {     var taStr:String = "中俄实弹演习成功!";     return taStr;        }   ]]>  </mx:Script> </mx:Application> js: <script type="text/javascript">  function callApp() {   var str = testJavascriptCallFlex.callBackFlex();   alert("javascript调用flex成功  : + str);  } </script> 打印出来:javascript调用flex成功:中俄实弹演习成功。

猜你在找的Flex相关文章