Flex 与 js 的交互


在html页面中的js脚本

<script language="JavaScript" type="text/javascript">

var me; //存储flash对象
function getID(swfID){
if(navigator.appName.indexOf("Microsoft")>-1){
me=window[swfID];
}else{
me=document[swfID];
}
}


function giveValueToFlash(val){
me.setValue(val); //调用flex的函数
}

function alertflex(val){ //被flex调用的js函数
alert(val);
return "call js from flex";
}


</script>

MXML文件里面的as脚本

<mx:Script>
<![CDATA[
import mx.controls.Alert;

private function init():void
{
ExternalInterface.addCallback("setValue",setTextValue); //setValue是暴露给js的函数名称,第二个参数是as里面的函数名称 setTextValue, 建立映射关系。
}
private function setTextValue(val:String):void{
txt.text=val;
}
private function onclick():void
{
var results:Object = ExternalInterface.call("alertflex","hello i am flex"); //调用js里面的alertflex函数,第二个参数是传给js函数的参数。
mx.controls.Alert.show(results.toString());
}

]]>
</mx:Script>

posted on 2009-09-08 18:30  jerry data  阅读(303)  评论(0编辑  收藏  举报