flash html 通信,Javascript与flash交互通信基础教程
Javascript與flash交互通信基礎(chǔ)教程
更新時(shí)間:2008年08月07日 23:44:39 ? 作者:
說明: 略作修改,主要是一些很初級(jí)的操作; 又很多相似的文章,不過這個(gè)很權(quán)威
下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每個(gè)示例都有簡略的步驟
本文討論了3種基本的Flash/Javascript通信方式:
Javascript?到?Flash的通信----使用Flash播放器的javascript方法
Flash?到?Javascript的通信----使用Flash的fscommand
Flash?到?Flash的通信----------使用本地連接對(duì)象或綜合上2種技術(shù)
并不是所有的瀏覽器都很重視腳本.為了和Flash播放器通信,瀏覽器必須有內(nèi)置的鉤子以便Flash播放器可以'監(jiān)聽'.瀏覽器必須是下列的幾種:
Netscape?Navigator?3.0-4.7x,?和?Netscape?6.2或更高
(Windows?95/98/NT/2000/XP?或?MacOS;?允許Java和LiveConnect)
Internet?Explorer?3.0?或更高
(僅Windows?95/98/NT/2000/XP;?允許ActiveX)
Javascript到Flash的通信
這個(gè)例子演示了如何使用Flash的method把變量從HTML的input?text?發(fā)送到該頁面中的Flash文件中.HTML?input的數(shù)據(jù)通過Flash的SetVariable方法傳送到Flash文件中.
查看示例:示例
下載源文件:?javascript_to_flash.zip(17k)
步驟:
Flash中
1.新建一個(gè)文件,保存為javascript_to_flash.fla
2.用文字工具在舞臺(tái)上創(chuàng)建一個(gè)文本域
3.選擇這個(gè)文本域,在屬性面板中,從下拉列表中選擇動(dòng)態(tài)文本(Dynamic?Text),在變量(variable)欄填上"myVar"
注意:最好的習(xí)慣是使用Instance,用myVar.text更改myVar的值.為了簡單起見和兼容Flash4和Flash5,我們使用的是變量名的形式.
4.保存文件
5.發(fā)布HTML文件和SWF文件
Dreamweaver中
下一步的工作轉(zhuǎn)移到Dreamweaver中了,當(dāng)然也可以是其他的HTML編輯器
1.打開上一步發(fā)布的HTML文件
2.插入生成的SWF文件和OBJECT/EMBED標(biāo)簽
(1)?Insert>Media>Flash,并選擇這個(gè)Flash
(2)?切換到代碼視圖,我們需要修改被選中的和標(biāo)簽
(3)?在OBJECT標(biāo)簽中,插入id="myFlash"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366?height=142?id="myFlash">
注意:如果你是粘貼復(fù)制代碼的話,確保刪除不必要的換行.否則可能會(huì)引起錯(cuò)誤;?id也可以在屬性面板里直接輸入
(4)?在EMBED標(biāo)簽中,插入name="myFlash"和swLiveConnect="true",確保沒有使用id屬性!代碼應(yīng)當(dāng)是這樣子的:
type="application/x-shockwave-flash"?pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash"
name="myFlash"?swLiveConnect="true">
3.創(chuàng)建表單域
(1)?回到設(shè)計(jì)視圖
(2)?插入文本域(Insert>?Form?Object>?Text?Field),如果詢問是否添加表單域,選擇是
(3)?把文本域的HTML標(biāo)簽修改成這樣:
每當(dāng)文本域內(nèi)容發(fā)生變化時(shí),onChange就被觸發(fā),doPassVar()函數(shù)就被調(diào)用
4.創(chuàng)建傳遞變量值的Javascript函數(shù)
復(fù)制下面的Javascript到
標(biāo)簽內(nèi)5.保存文件,測(cè)試一下(F12)
Flash到Javascript的通信
從HTML可以發(fā)送數(shù)據(jù)到Flash,反過來也可以.?這個(gè)例子演示了如何應(yīng)用Flash的Fscommand來發(fā)送數(shù)據(jù)到Javascript.
查看示例:示例2
下載源文件:?flash_to_javascript.zip(10K)
簡要步驟:
Flash中
新建一個(gè)文件,保存為flash_to_javascript.fla
創(chuàng)建一個(gè)文本域,設(shè)置成輸入文本(Input?Text),選擇"border"以便我們能看到他,指定他的變量為inputVar
創(chuàng)建一個(gè)按鈕,在按鈕上添加如下的as:
on?(release)?{
fscommand?("send_var",?inputVar);
}
保存文件,導(dǎo)出HTML和SWF
Dreamweaver中
1.打開導(dǎo)出HTML文件,修改和標(biāo)簽,結(jié)果同上:
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366?height=142?id="myFlash">
width=366?height=142
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash"?name="myFlash"?swLiveConnect="true">
2.?插入如下的Javascript到
標(biāo)簽內(nèi):Flash和Flash的通信
通過上面兩種方法的混和使用,同一HTML中兩個(gè)或者更多的Flash直接可以相互傳送消息.?從一個(gè)flash使用fscommand傳送消息給Javascript,使用Flash的Javascript?methods把消息傳給另外一個(gè)flash
詳細(xì)的看這里:Flash影片之間的通信示例
從Flash?MX開始,local?connection對(duì)象可以用來在flash之間傳送消息.?這使得同一HTML中的或者位于兩個(gè)瀏覽器窗口中的兩個(gè)flash影片可以相互發(fā)送消息,而不必使用Javascript或者fscommand
詳細(xì)的看這里:在Flash?MX中使用local?connection對(duì)象(英文)
本站的localConnection教程:http://www.blueidea.com/tech/multimedia/2003/739.asp
附可控制Flash?Player的Javascript方法一覽表:
Play()?----------------------------------------?播放動(dòng)畫
StopPlay()------------------------------------停止動(dòng)畫
IsPlaying()-----------------------------------?動(dòng)畫是否正在播放
GotoFrame(frame_number)----------------?跳轉(zhuǎn)到某幀
TotalFrames()-------------------------------?獲取動(dòng)畫總幀數(shù)
CurrentFrame()------------------------------回傳當(dāng)前動(dòng)畫所在幀數(shù)-1
Rewind()-------------------------------------使動(dòng)畫返回第一幀
SetZoomRect(left,top,right,buttom)-------放大指定區(qū)域
Zoom(percent)------------------------------改變動(dòng)畫大小
Pan(x_position,y_position,unit)------------使動(dòng)畫在x,y方向上平移
PercentLoaded()----------------------------返回動(dòng)畫被載入的百分比
LoadMovie(level_number,path)-----------?加載動(dòng)畫
TGotoFrame(movie_clip,frame_number)-?movie_clip跳轉(zhuǎn)到指定幀數(shù)
TGotoLabel(movie_clip,label_name)------?movie_clip跳轉(zhuǎn)到指定標(biāo)簽
TCurrentFrame(movie_clip)---------------?回傳movie_clip當(dāng)前幀-1
TCurrentLabel(movie_clip)-----------------回傳movie_clip當(dāng)前標(biāo)簽
TPlay(movie_clip)---------------------------播放movie_clip
TStopPlay(movie_clip)----------------------停止movie_clip的播放
GetVariable(variable_name)-----------------獲取變量
SetVariable(variable_name,value)-----------變量賦值
TCallFrame(movie_clip,frame_number)---call指定幀上的action
TCallLabel(movie_clip,label)----------------call指定標(biāo)簽上的action
TGetProperty(movie_clip,property)--------獲取movie_clip的指定屬性
TSetProperty(movie_clip,property,number)-設(shè)置movie_clip的指定屬性
相關(guān)文章
這篇文章主要給大家介紹了關(guān)于微信小程序自定義導(dǎo)航欄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
這篇文章介紹了JS操作數(shù)據(jù)庫的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10
一個(gè)正則表達(dá)式要如何書寫才能同時(shí)匹配這兩個(gè)數(shù)字呢?簡單的字符表達(dá)式當(dāng)然無法完成了,這個(gè)時(shí)候我們就可以定義一個(gè)字符集合(字符類)來進(jìn)行匹配。這就是分組匹配了2015-04-04
這篇文章主要介紹了重寫document.write實(shí)現(xiàn)無阻塞加載js廣告,需要的朋友可以參考下2014-12-12
關(guān)于javascript的eval()函數(shù)無法執(zhí)行html代碼的問題,下面為大家介紹下一種在javascript中執(zhí)行任意html代碼的方法,感興趣的朋友不要錯(cuò)過2013-12-12
這篇文章主要介紹了javascript實(shí)現(xiàn)阻止iOS APP中的鏈接打開Safari瀏覽器,這個(gè)IOS APP一般是Web APP,否則沒法使用本文的代碼,需要的朋友可以參考下2014-06-06
卡拉 OK 字幕效果...2006-08-08
這篇文章主要給大家介紹了關(guān)于在React.js中使用collections時(shí)key的重要性,注意:一定不能不能忘了key,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
Boolean(邏輯)對(duì)象用于將非邏輯值轉(zhuǎn)換為邏輯值(true 或者 false)下面為大家介紹下js的Boolean對(duì)象初始值2014-03-03
Echarts是由百度提供的數(shù)據(jù)可視化解決方案, 這篇文章主要介紹了解決百度Echarts圖表坐標(biāo)軸越界的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-10-10
最新評(píng)論
總結(jié)
以上是生活随笔為你收集整理的flash html 通信,Javascript与flash交互通信基础教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ICMP数据包分析
- 下一篇: Java旅游网站源码+页面