Flex 和JavaScript 交互(帶參)
更新時(shí)間: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中讓鼠標(biāo)移至AdvancedDataGrid的行上不自動(dòng)修改顯示效果
公司項(xiàng)目中出于性能考慮,把mx:Repeater控件換成了mx:AdvancedDataGrid控件來(lái)顯示。
2009-05-05 
基于WebService的數(shù)據(jù)訪問(wèn)(下) Flex與.NET互操作(三)
在上一篇文章《Flex與.NET互操作(二):基于WebService的數(shù)據(jù)訪問(wèn)(上) 》中介紹了通過(guò)<mx:WebService>標(biāo)簽來(lái)訪問(wèn)Webservice。實(shí)際上我們也可以通過(guò)編程的方式動(dòng)態(tài)的訪問(wèn)WebService,F(xiàn)lex SDK為我們提供了WebService類。
2009-06-06 
flex 調(diào)試無(wú)法正常啟動(dòng)原因分析及解決方法
在調(diào)試Flex程序的時(shí)候,經(jīng)常后遇到進(jìn)度為57%無(wú)法調(diào)試的情況,本文將介紹詳細(xì)的解決方法,需要的朋友可以參考下
2012-12-12 
Flex tree組件數(shù)據(jù)源、圖標(biāo)等修改
在flex中Tree組件的使用。使用XML作為T(mén)ree組件的數(shù)據(jù)源。
2009-05-05 
Flex DataGrid DataGridColumn數(shù)據(jù)顏色多樣化-類型替換
用得多了,發(fā)覺(jué)自己了解的真的是九牛之一毛都沒(méi)有,最近用到了從后臺(tái)讀出數(shù)據(jù)時(shí)顯示的問(wèn)題,相信很多人都有用整形數(shù)據(jù)來(lái)代替字符串?dāng)?shù)據(jù)的情況
2009-06-06 
Macromedia Flex 制作計(jì)算器源碼和制作步驟
Macromedia Flex 制作計(jì)算器源碼和制作步驟...
2007-02-02