Flex 和JavaScript 交互(帶參)
更新時間:2009年05月23日 22:27:56 作者:
Flex 和JavaScript 交互,并且可以傳遞參數(shù)。
Flex文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="200" height="150"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.external.*;
[Bindable]
private var jstime: String;
private function init(): void
{
flash.external.ExternalInterface.addCallback("jstest", jstest);
}
public function js() : void {
var m : String = ExternalInterface.call("flashtest","flash");
Alert.show(m);
}
public function jstest(str: String): String
{
jstime = str;
return "jstest::" + jstime;
}
private function ttt(): void
{
Alert.show(jstime);
}
]]>
</mx:Script>
<mx:Button label="test" click="js()" x="142" y="118"/>
<mx:Button label="jstest" click="ttt()" x="76" y="118"/>
<mx:Text x="10" y="43" text="{jstime}" width="180"/>
</mx:Application>
html:
<html lang="en">
<SCRIPT language="javascript">
function now()
{
var d=new Date();
return d.getYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
}
function flashtest(sid)
{
return sid + "::" + now();
}
function testflash()
{
var x = flexjs.jstest(now());
alert(x);
}
</SCRIPT>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="flexjs" width="200" height="150"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="flexjs.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="flexjs.swf" quality="high" bgcolor="#869ca7"
width="200" height="150" name="flexjs" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
<br>
<input type="button" value="flashtest" onclick="testflash();">
</html>
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="200" height="150"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.external.*;
[Bindable]
private var jstime: String;
private function init(): void
{
flash.external.ExternalInterface.addCallback("jstest", jstest);
}
public function js() : void {
var m : String = ExternalInterface.call("flashtest","flash");
Alert.show(m);
}
public function jstest(str: String): String
{
jstime = str;
return "jstest::" + jstime;
}
private function ttt(): void
{
Alert.show(jstime);
}
]]>
</mx:Script>
<mx:Button label="test" click="js()" x="142" y="118"/>
<mx:Button label="jstest" click="ttt()" x="76" y="118"/>
<mx:Text x="10" y="43" text="{jstime}" width="180"/>
</mx:Application>
html:
復(fù)制代碼 代碼如下:
<html lang="en">
<SCRIPT language="javascript">
function now()
{
var d=new Date();
return d.getYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
}
function flashtest(sid)
{
return sid + "::" + now();
}
function testflash()
{
var x = flexjs.jstest(now());
alert(x);
}
</SCRIPT>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="flexjs" width="200" height="150"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="flexjs.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="flexjs.swf" quality="high" bgcolor="#869ca7"
width="200" height="150" name="flexjs" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
<br>
<input type="button" value="flashtest" onclick="testflash();">
</html>

Flex中讓鼠標移至AdvancedDataGrid的行上不自動修改顯示效果
公司項目中出于性能考慮,把mx:Repeater控件換成了mx:AdvancedDataGrid控件來顯示。
2009-05-05 
基于WebService的數(shù)據(jù)訪問(下) Flex與.NET互操作(三)
在上一篇文章《Flex與.NET互操作(二):基于WebService的數(shù)據(jù)訪問(上) 》中介紹了通過<mx:WebService>標簽來訪問Webservice。實際上我們也可以通過編程的方式動態(tài)的訪問WebService,F(xiàn)lex SDK為我們提供了WebService類。
2009-06-06 
Flex DataGrid DataGridColumn數(shù)據(jù)顏色多樣化-類型替換
用得多了,發(fā)覺自己了解的真的是九牛之一毛都沒有,最近用到了從后臺讀出數(shù)據(jù)時顯示的問題,相信很多人都有用整形數(shù)據(jù)來代替字符串數(shù)據(jù)的情況
2009-06-06