flex与javascript互相通信:使用ExternalInterface
发布时间:2020-12-15 03:57:55 所属栏目:百科 来源:网络整理
导读:(1):在Flex中有这么一个类:ExternalInterface.在这个类中它给我们:call和addCallback Flex中As调用Js的方法是: ? ? ?1、导入包 (import flash.external.ExternalInterface;) ? ? ?2、使用ExternalInterface.call("Js函数名称",参数)进行调用,其返回
(1):在Flex中有这么一个类:ExternalInterface.在这个类中它给我们:call和addCallback
Flex中As调用Js的方法是: ? ? ?1、导入包 (import flash.external.ExternalInterface;) ? ? ?2、使用ExternalInterface.call("Js函数名称",参数)进行调用,其返回的值就是Js函数所返回的值 ? Js调用As的方法是: ? ? ?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> <script type="text/javascript"> ?function callApp() { ? var str = testJavascriptCallFlex.callBackFlex(); ? alert("javascript调用flex成功 ?: + str); ?} </script> 打印出来:javascript调用flex成功:中俄实弹演习成功。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |