js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例
然后,在另外一個(gè)文件,test.jsp中,通過(guò)iframe,引入了test.html,即引入了swf。
現(xiàn)在想要在test.jsp中,向flex傳參,并調(diào)用flex中的方法,我采用的方法是:
首先,在jsp中寫(xiě)一個(gè)調(diào)用flex的方法,如下
function initSWF(){
//得到swf的object
var obj = window.frames["rightframe"].ReverseQuery; //rightframe是iframe的名字,ReverseQuery是在test.html中,引入swf做object的id。
//調(diào)用它的方法
var start = "<%=startPoint%>";
var end = "<%=endPoint%>";
obj.showParams(start,end);
}
在html中,有方法
/*在flex中只能調(diào)用本頁(yè)面的js方法*/
function initSWF(){
parent.initSWF();
}
在flex,有如下方法:
public function showParams(start:String,end:String):void{
Alert.show(start);
Alert.show(end);
}
這時(shí),需要建立一個(gè)打開(kāi)他們之間通信的橋梁了,在flex的初始化時(shí),要使用
ExternalInterface.addCallback("showParams",showParams); //前者是它暴露給js的方法名,后者是它在flex中的方法名。
這樣,理論上就可以實(shí)現(xiàn)調(diào)用了。將initSWF方法放在頁(yè)面的onload方法中即可實(shí)現(xiàn)。
但是產(chǎn)生一個(gè)問(wèn)題,如果flex在頁(yè)面中沒(méi)有加載成功時(shí),會(huì)報(bào)找不到對(duì)象的錯(cuò)誤。因此,需要我們?cè)诖_保swf文件加載完成后,再調(diào)用swf中的方法。
但監(jiān)聽(tīng)它加載完成顯然有點(diǎn)浪費(fèi)感情,于是,我們采用的策略是,等它加載完,再調(diào)用js的initSWF方法,即可將環(huán)節(jié)全部打通。
因此,在flex的初始化時(shí),加入
//調(diào)用載入頁(yè)面的initSWF方法
ExternalInterface.call("initSWF"); //要將它放在注冊(cè)對(duì)外方法之后進(jìn)行。
大功告成。
有需要注意的地方:
在flex當(dāng)中調(diào)用js的方法,這個(gè)方法只能寫(xiě)在引入swf的文件中,但我在jsp中引入了html,所以只能是在html中的js,是調(diào)用父頁(yè)面的js方法。
而在jsp中對(duì)于swf文件的引用,要借助window.frames["rightframe"]
相關(guān)文章
Flex 改變樹(shù)結(jié)點(diǎn)圖標(biāo)的2種方法介紹
本文為大家介紹兩種方法改變樹(shù)結(jié)點(diǎn)圖標(biāo):根據(jù)是否有子結(jié)點(diǎn)進(jìn)行改變、根據(jù)結(jié)點(diǎn)的屬性,靈活改變圖標(biāo),具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07Flex設(shè)置LinkButton的背景色有思路有源碼
Flex中沒(méi)有設(shè)置LinkButton的背景色的屬性,可以直接通過(guò)調(diào)用樣式方法畫(huà)出LinkButton的背景色2014-08-08Flex播放器(實(shí)現(xiàn)播放、緩沖進(jìn)度條和音頻曲線顯示)
這篇文章主要介紹了Flex播放器(實(shí)現(xiàn)播放、緩沖進(jìn)度條和音頻曲線顯示),需要的朋友可以參考下2014-07-07flex利用webservice上傳照片實(shí)現(xiàn)代碼
這篇文章主要介紹了flex利用webservice上傳照片實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-05-05Flex實(shí)現(xiàn)的上傳攝像頭拍照并將UI保存為圖片
這篇文章主要介紹了Flex如何實(shí)現(xiàn)上傳攝像頭拍照并將UI保存為圖片,需要的朋友可以參考下2014-05-05Flex中給按鈕添加鏈接點(diǎn)擊鏈接打開(kāi)網(wǎng)頁(yè)的方法
我們需要這樣的一個(gè)效果:點(diǎn)擊鏈接打開(kāi)一個(gè)網(wǎng)頁(yè)。下面為大家介紹下Flex中如何給一個(gè)按鈕添加鏈接實(shí)現(xiàn)點(diǎn)擊打開(kāi)網(wǎng)頁(yè),感興趣的朋友可以參考下2013-12-12flex通過(guò)java后臺(tái)獲取ip和pcname示例代碼
這篇文章主要介紹了flex通過(guò)java后臺(tái)獲取ip和pcname的具體實(shí)現(xiàn),需要的朋友可以參考下2014-05-05flex中使用RadioButtonGroup時(shí)取出所選項(xiàng)的值的方法
flex中的RadioButtonGroup想必大家并不陌生吧,在本文將為大家介紹下在使用RadioButtonGroup時(shí)如何取出所選項(xiàng)的值,感興趣的朋友可以參考下2013-12-12