1.Flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
xmlns:bridge="bridge.*" width="460" height="342">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function FlexAjax():void{
Alert.show("这是由Flex创建的函数!");
}
]]>
</mx:Script>
<bridge:FABridge bridgeName="flex"/>
<mx:Panel id="myPanel" layout="horizontal" fontSize="14" width="440" height="320" x="10" y="10" title="Flex与Ajax交互">
<mx:Canvas width="200" height="268" x="-43">
<mx:VBox id="myVBox" height="100%" width="100%">
<mx:TextInput id="txt_test" text="Flex与Ajax交互例子"/>
</mx:VBox>
</mx:Canvas>
<mx:Panel width="211" height="264" layout="absolute" title="图片" x="199" y="0">
<mx:Image id="myImage" width="100%" height="100%"/>
</mx:Panel>
</mx:Panel>
</mx:Application>
2.Html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="bridge/FABridge.js"></script>
<script>
var flexApp;
var buttonNum=0;
function Init(){
var flexApp = FABridge.flex.root();
var txt = flexApp.getTxt_test();
var callback=function(event){
var swf_source=event.getTarget();
document.getElementById("copy").innerHTML=swf_source.getText();
return;
}
//为按钮的点击事件添加处理函数
txt.addEventListener("change",callback);
}
function createFlexButton(){
//通过FABridge指向Flex应用程序
var flexApp = FABridge.flex.root();
buttonNum+=1;
var btn = FABridge.flex.create("mx.controls.Button");
btn.setWidth(70);
btn.setHeight(25);
btn.setLabel("按钮"+buttonNum);
var callback=function(){
var aa= flexApp.FlexAjax();
alert("这是javascript中的警告窗口!");
}
//为按钮的单机事件添加处理函数
btn.addEventListener("click",callback);
//添加按钮到flex应用程序
flexApp.getMyVBox().addChild(btn);
}
function selectChange(){
var flexApp = FABridge.flex.root();
//设置flex应用程序图片组建的source属性
flexApp.getMyImage().setSource(imgSelect.value);
showImagePath();
}
function showImagePath(){
var flexApp =FABridge.flex.root();
var image = flexApp.getMyImage();
var callback=function(event){
var pathString=image.getsource();
alert("图片的路径为:"+pathString);
}
image.addEventListener("click",callback);
}
function changeFlexTxt(){
var flexApp = FABridge.flex.root();
var txt = flexApp.getTxt_test();
txt.setText(myTxt.value);
}
</script>
</head>
<body>
<input id="myTxt" type="text" onkeyup="changeFlexTxt()"/>
<input type="button" value="添加按钮" onclick="createFlexButton()"/>
<input type="button" value="记录Flex输入文字" onclick="Init()"/>
<div>选择图片:
<select name="imgSelect" onchange="selectChange()">
<option value="">--选择--</option>
<option value="images/smile.gif">微笑</option>
</select>
</div>
<div>
<script>
document.write("<object id='flexApp' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' height='350' width='460'>");
document.write("<param name='src' value='FlexAjax1.swf'/>");
document.write("<embed name='flexApp'src='FlexAjax1.swf' />");
document.write("</object>");
</script>
</div>
<div id="copy">
</div>
</body>
</html>