一起久久...
ml2109
全部博文(41)
2011年(1)
2008年(40)
Phyllis6
浪花小雨
分类:
2008-06-24 16:37:54
flash与javascript的交互可能讨论的比较多,今天为大家介绍下如何使用flex与javascript进行交互
一、在JavaScript中调用Flex方法在Flex中可以用ExternalInterface来调用Flex的方法,途径是1. 通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex应用中通过调用addCallback()可以把一个方法添加到此列表中。 addCallback将一个ActionScript的方法注册为一个JavaScript和VBScript可以调用的方法。addCallback()函数的定义如下:addCallback(function_name:String, closure:Function):voidfunction_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。举个例子:
<mx:Script> import flash.external.*; public function myFunc():Number { return 42; } public function initApp():void { ExternalInterface.addCallback("myFlexFunction",myFunc); }</mx:Script>
2.那么在Html页面中,先获得SWF对象的引用,也就是用声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。
<SCRIPT language='JavaScript' charset='utf-8'> function callApp() { var x = MyFlexApp.myFlexFunction(); alert(x); }</SCRIPT><button onclick="callApp()">Call App</button>
<?xml version="1.0" encoding="iso-8859-1"?><mx:Application xmlns:mx=""> <mx:Script> import flash.external.*; public function callWrapper():void { var f:String = "changeDocumentTitle"; var m:String = ExternalInterface.call(f,"New Title"); trace(m); } </mx:Script> <mx:Button label="Change Document Title" click="callWrapper()"/></mx:Application>
<SCRIPT LANGUAGE="JavaScript"> function changeDocumentTitle(a) { window.document.title=a; return "successful"; }</SCRIPT>
上一篇:(转)Flex中嵌入Google地图
下一篇:(转)Flex与JavaScript交互的DataGrid例子
登录 注册