主頁 > 知識(shí)庫 > js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例

js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例

熱門標(biāo)簽:天津企業(yè)外呼系統(tǒng)代理商 外呼系統(tǒng)號(hào)碼顯示 廣州ai外呼系統(tǒng)業(yè)務(wù) 南昌crm外呼系統(tǒng)如何 無錫電銷外呼系統(tǒng)代理 什么行業(yè)需要電話機(jī)器人 地圖標(biāo)注多家店 車載電話機(jī)器人 中山外呼系統(tǒng)中間件
首先,有了一個(gè)swf文件,test.swf,同時(shí)也有一個(gè)自動(dòng)生成的html文件,test.html。
然后,在另外一個(gè)文件,test.jsp中,通過iframe,引入了test.html,即引入了swf。

現(xiàn)在想要在test.jsp中,向flex傳參,并調(diào)用flex中的方法,我采用的方法是:
首先,在jsp中寫一個(gè)調(diào)用flex的方法,如下
復(fù)制代碼 代碼如下:

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)用本頁面的js方法*/
function initSWF(){
parent.initSWF();
}
在flex,有如下方法:
public function showParams(start:String,end:String):void{
Alert.show(start);
Alert.show(end);
}

這時(shí),需要建立一個(gè)打開他們之間通信的橋梁了,在flex的初始化時(shí),要使用
ExternalInterface.addCallback("showParams",showParams); //前者是它暴露給js的方法名,后者是它在flex中的方法名。
這樣,理論上就可以實(shí)現(xiàn)調(diào)用了。將initSWF方法放在頁面的onload方法中即可實(shí)現(xiàn)。

但是產(chǎn)生一個(gè)問題,如果flex在頁面中沒有加載成功時(shí),會(huì)報(bào)找不到對(duì)象的錯(cuò)誤。因此,需要我們?cè)诖_保swf文件加載完成后,再調(diào)用swf中的方法。
但監(jiān)聽它加載完成顯然有點(diǎn)浪費(fèi)感情,于是,我們采用的策略是,等它加載完,再調(diào)用js的initSWF方法,即可將環(huán)節(jié)全部打通。

因此,在flex的初始化時(shí),加入
//調(diào)用載入頁面的initSWF方法
ExternalInterface.call("initSWF"); //要將它放在注冊(cè)對(duì)外方法之后進(jìn)行。
大功告成。

有需要注意的地方:
在flex當(dāng)中調(diào)用js的方法,這個(gè)方法只能寫在引入swf的文件中,但我在jsp中引入了html,所以只能是在html中的js,是調(diào)用父頁面的js方法。
而在jsp中對(duì)于swf文件的引用,要借助window.frames["rightframe"]

標(biāo)簽:佛山 欽州 滄州 仙桃 攀枝花 海西 呂梁 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例》,本文關(guān)鍵詞  調(diào)用,Flex,中的,方法,并向,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于js調(diào)用Flex中的方法并向flex中傳參及flex調(diào)用js示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章