Flex中函数传值调用Demo
======================说明=======================
1)在Flex中有这么一个类:ExternalInterface.在这个类中它给我们:call和addCallback
Flex中As调用Js的方法是:
1、导入包 (import flash.external.ExternalInterface;)
2、在/html-template/index.template.html的<head></head>中引入js,如:<script src="onLine.js" language="javascript"></script>
3、使用ExternalInterface.call("Js函数名称",参数)进行调用,其返回的值就是Js函数所返回的值
Flex调用javascript中的函数:
mxml:
<mx:Script>
<![CDATA[
import mx.controls.Alert;
internal function callJsFunction():void {
ExternalInterface.call("popUp", true);
}
]]>
</mx:Script>
<mx:Button x="480" y="84" label="flex call javascript" click="callJsFunction()"/>
Js调用As的方法是:
1、导入包 (import flash.external.ExternalInterface;)
2、在initApp中使用ExternalInterface.addCallback("用于Js调用的函数名",As中的函数名)进行注册下
3、js中 就可以用document.getElementById("Flas在Html中的ID").注册时设置的函数名(参数)进行调用.
实例演习:
<mx:Script>
import flash.external.*;
public function myFunc():Number {
return 42;
}
public function initApp():void {
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
</mx:Script>
那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的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>
=======================附件中的DMEO(mxml和jsp两个文件+swf)=======================