flex与js交互浅析
2013-04-17 22:40
330 查看
1.flex调用js方法
调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type);
第一个是js方法名,后面几个是给这个js方法传的参数。这个方法必须在网页的js中注册,否则会调用失败。
需要注意的是调用之前需要检查网页的js是否已完成加载,用ExternalInterface.available可是判断。
注:这种调用方法是可以有返回值的,例如:var m:String = ExternalInterface.call(f,"New Title");
但是这个返回值不能有时延(例如js需要进行ajax操作),否则m=null。因为flex是异步的。
2.js调用flex方法
js要调用flex方法,首先在flex中必须注册,将as方法注册为js可调用的方法。例如:ExternalInterface.addCallback("ConfirmGroup",ConfirmGroup);
第一个是js中调用时用的名称,第二个是as中定义的方法。
在ie浏览器中调用方法为: document.getElementById("mapContent").ConfirmGroup(1);
mapContent为flash的id。
注:它也是可以有返回值的。
示例:
AS:
JS:
文章来自 http://www.cnblogs.com/tiandi/archive/2012/06/03/2532977.html
调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type);
第一个是js方法名,后面几个是给这个js方法传的参数。这个方法必须在网页的js中注册,否则会调用失败。
需要注意的是调用之前需要检查网页的js是否已完成加载,用ExternalInterface.available可是判断。
注:这种调用方法是可以有返回值的,例如:var m:String = ExternalInterface.call(f,"New Title");
但是这个返回值不能有时延(例如js需要进行ajax操作),否则m=null。因为flex是异步的。
<mx:Script> <?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <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> Html页面中有如下函数定义: <SCRIPT LANGUAGE="JavaScript"> function changeDocumentTitle(a) { window.document.title=a; return "successful"; } </SCRIPT>
2.js调用flex方法
js要调用flex方法,首先在flex中必须注册,将as方法注册为js可调用的方法。例如:ExternalInterface.addCallback("ConfirmGroup",ConfirmGroup);
第一个是js中调用时用的名称,第二个是as中定义的方法。
在ie浏览器中调用方法为: document.getElementById("mapContent").ConfirmGroup(1);
mapContent为flash的id。
注:它也是可以有返回值的。
示例:
AS:
<mx:Script> import flash.external.*; public function myFunc():Number { return 42; } public function initApp():void { ExternalInterface.addCallback("myFlexFunction",myFunc); } </mx:Script>
JS:
<SCRIPT language='JavaScript' charset='utf-8'> function callApp() { var x = MyFlexApp.myFlexFunction(); alert(x); } </SCRIPT> <button onclick="callApp()">Call App</button>
文章来自 http://www.cnblogs.com/tiandi/archive/2012/06/03/2532977.html
相关文章推荐
- flex与js交互浅析
- FLEX编程笔记:flex和js的交互
- JS交互中的线程间协作浅析
- Flex 通过FABridge与JS交互
- flex与html交互和js调用
- JS Flex交互:html嵌套Flex(swf)
- JS和原生交互原理浅析
- Flex中As与Js进行交互
- Flex 与 js 的交互
- JS与Flex交互的几点注意事项
- Flex JS 交互 传值(传参数)
- Flex与JS交互完全攻略
- flex iframe 嵌套HTML,as和js间的交互
- flex与js交互(转)
- Flex 与 Js 的交互,两个Flex工程之间的交互
- Flex与js交互详解
- flex与html交互和js调用
- Flex与JS交互完全攻略
- JS技巧:Flex与JavaScript的交互:调用JavaScipt或者被JavaScript调用
- flex与html交互和js调用