最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript與flash交互通信基礎(chǔ)教程

 更新時間:2008年08月07日 23:44:39   作者:  
說明: 略作修改,主要是一些很初級的操作; 又很多相似的文章,不過這個很權(quán)威
下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每個示例都有簡略的步驟

本文討論了3種基本的Flash/Javascript通信方式:
Javascript 到 Flash的通信----使用Flash播放器的javascript方法
Flash 到 Javascript的通信----使用Flash的fscommand
Flash 到 Flash的通信----------使用本地連接對象或綜合上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的通信

這個例子演示了如何使用Flash的method把變量從HTML的input text 發(fā)送到該頁面中的Flash文件中.HTML input的數(shù)據(jù)通過Flash的SetVariable方法傳送到Flash文件中.

查看示例:示例 
下載源文件: javascript_to_flash.zip(17k)

步驟:

Flash中
1.新建一個文件,保存為javascript_to_flash.fla
2.用文字工具在舞臺上創(chuàng)建一個文本域
3.選擇這個文本域,在屬性面板中,從下拉列表中選擇動態(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,并選擇這個Flash
(2) 切換到代碼視圖,我們需要修改被選中的<OBJECT>和<EMBED>標(biāo)簽
(3) 在OBJECT標(biāo)簽中,插入id="myFlash"

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">
注意:如果你是粘貼復(fù)制代碼的話,確保刪除不必要的換行.否則可能會引起錯誤; id也可以在屬性面板里直接輸入
(4) 在EMBED標(biāo)簽中,插入name="myFlash"和swLiveConnect="true",確保沒有使用id屬性!代碼應(yīng)當(dāng)是這樣子的:

<embed src="javascript_to_flash.swf" quality=high 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">
</embed> 

3.創(chuàng)建表單域
(1) 回到設(shè)計視圖
(2) 插入文本域(Insert> Form Object> Text Field),如果詢問是否添加表單域,選擇是
(3) 把文本域的HTML標(biāo)簽修改成這樣:

<input type="text" name="sendText" maxlength="45" onChange="doPassVar(this)"> 
每當(dāng)文本域內(nèi)容發(fā)生變化時,onChange就被觸發(fā),doPassVar()函數(shù)就被調(diào)用

4.創(chuàng)建傳遞變量值的Javascript函數(shù)
復(fù)制下面的Javascript到<head></head>標(biāo)簽內(nèi)

<SCRIPT LANGUAGE=JavaScript>
<!--
function doPassVar(args){
var sendText = args.value;
window.document.myFlash.SetVariable("myVar", sendText);
}
//-->
</SCRIPT>
5.保存文件,測試一下(F12)


Flash到Javascript的通信

從HTML可以發(fā)送數(shù)據(jù)到Flash,反過來也可以. 這個例子演示了如何應(yīng)用Flash的Fscommand來發(fā)送數(shù)據(jù)到Javascript.

查看示例:示例2 
下載源文件: flash_to_javascript.zip(10K)

簡要步驟:
Flash中
新建一個文件,保存為flash_to_javascript.fla
創(chuàng)建一個文本域,設(shè)置成輸入文本(Input Text),選擇"border"以便我們能看到他,指定他的變量為inputVar
創(chuàng)建一個按鈕,在按鈕上添加如下的as:

on (release) {
fscommand ("send_var", inputVar);
}
保存文件,導(dǎo)出HTML和SWF

Dreamweaver中
1.打開導(dǎo)出HTML文件,修改<OBJECT>和<EMBED>標(biāo)簽,結(jié)果同上:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">

<embed src="javascript_to_flash.swf" quality=high
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">
</embed>
2. 插入如下的Javascript到<Body>標(biāo)簽內(nèi):
<SCRIPT LANGUAGE=JavaScript>
<!--
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
function myFlash_DoFSCommand(command, args) {
var myFlashObj = InternetExplorer ? myFlash : document.myFlash;
alert (args);
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && 
navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)\n');
document.write(' call myFlash_DoFSCommand(command, args)\n');
document.write('end sub\n');
document.write('</SCRIPT\> \n');

//-->
</SCRIPT>


Flash和Flash的通信
通過上面兩種方法的混和使用,同一HTML中兩個或者更多的Flash直接可以相互傳送消息. 從一個flash使用fscommand傳送消息給Javascript,使用Flash的Javascript methods把消息傳給另外一個flash

詳細(xì)的看這里:Flash影片之間的通信示例

從Flash MX開始,local connection對象可以用來在flash之間傳送消息. 這使得同一HTML中的或者位于兩個瀏覽器窗口中的兩個flash影片可以相互發(fā)送消息,而不必使用Javascript或者fscommand
詳細(xì)的看這里:在Flash MX中使用local connection對象(英文)

本站的localConnection教程:http://www.blueidea.com/tech/multimedia/2003/739.asp

附可控制Flash Player的Javascript方法一覽表:

Play() ---------------------------------------- 播放動畫 
StopPlay()------------------------------------停止動畫 
IsPlaying()----------------------------------- 動畫是否正在播放
GotoFrame(frame_number)---------------- 跳轉(zhuǎn)到某幀 
TotalFrames()------------------------------- 獲取動畫總幀數(shù) 
CurrentFrame()------------------------------回傳當(dāng)前動畫所在幀數(shù)-1 
Rewind()-------------------------------------使動畫返回第一幀 
SetZoomRect(left,top,right,buttom)-------放大指定區(qū)域 
Zoom(percent)------------------------------改變動畫大小 
Pan(x_position,y_position,unit)------------使動畫在x,y方向上平移 
PercentLoaded()----------------------------返回動畫被載入的百分比 
LoadMovie(level_number,path)----------- 加載動畫 
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)文章

  • JavaScript 垃圾回收機(jī)制分析

    JavaScript 垃圾回收機(jī)制分析

    同C# 、Java一樣我們可以手工調(diào)用垃圾回收程序,但是由于其消耗大量資源,而且我們手工調(diào)用的不會比瀏覽器判斷的準(zhǔn)確,所以不推薦手工調(diào)用垃圾回收
    2013-10-10
  • ES6的內(nèi)置對象擴(kuò)展實現(xiàn)示例

    ES6的內(nèi)置對象擴(kuò)展實現(xiàn)示例

    本文主要介紹了ES6的內(nèi)置對象擴(kuò)展實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • JS日期和時間選擇控件升級版(自寫)

    JS日期和時間選擇控件升級版(自寫)

    鑒于網(wǎng)上找到的幾個日期選擇程序有些問題,遂著手重寫一個程序,添加了時間選擇功能,截圖及源碼如下,有需要的朋友可以參考下
    2013-08-08
  • 采用自執(zhí)行的匿名函數(shù)解決for循環(huán)使用閉包的問題

    采用自執(zhí)行的匿名函數(shù)解決for循環(huán)使用閉包的問題

    這篇文章主要介紹了采用自執(zhí)行的匿名函數(shù)解決for循環(huán)使用閉包的問題,很簡單,但比較實用,需要的朋友可以參考下
    2014-09-09
  • 原生JS控制多個滾動條同步跟隨滾動效果

    原生JS控制多個滾動條同步跟隨滾動效果

    本文要探討的是,當(dāng)這兩個容器元素的內(nèi)容都超出了容器高度,即都出現(xiàn)了滾動框的時候,如何在其中一個容器元素滾動時,讓另外一個元素也隨之滾動
    2017-12-12
  • JavaScript?新提案optional?chaining可選鏈屬性原理詳解

    JavaScript?新提案optional?chaining可選鏈屬性原理詳解

    這篇文章主要為大家介紹了JavaScript?新提案optional?chaining可選鏈屬性原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Web版彷 Visual Studio 2003 顏色選擇器

    Web版彷 Visual Studio 2003 顏色選擇器

    Web版彷 Visual Studio 2003 顏色選擇器...
    2007-01-01
  • js實現(xiàn)可得到不同顏色值的顏色選擇器實例

    js實現(xiàn)可得到不同顏色值的顏色選擇器實例

    這篇文章主要介紹了js實現(xiàn)可得到不同顏色值的顏色選擇器,實例分析了javascript顏色操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • JavaScript使用百度ECharts插件繪制餅圖操作示例

    JavaScript使用百度ECharts插件繪制餅圖操作示例

    這篇文章主要介紹了JavaScript使用百度ECharts插件繪制餅圖操作,結(jié)合實例形式分析了JavaScript使用百度ECharts插件繪制餅圖的原理、步驟及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11
  • TypeScript轉(zhuǎn)javaScript的方法示例

    TypeScript轉(zhuǎn)javaScript的方法示例

    本文主要介紹了TypeScript轉(zhuǎn)javaScript的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

日喀则市| 昭通市| 门头沟区| 泰兴市| 道孚县| 象州县| 德江县| 华宁县| 澄迈县| 石嘴山市| 大竹县| 平舆县| 绍兴市| 博客| 大荔县| 韶山市| 哈尔滨市| 饶河县| 绥中县| 天水市| 江口县| 京山县| 搜索| 自治县| 榆中县| 奉节县| 柏乡县| 渭南市| 宁波市| 康乐县| 青冈县| 佛坪县| 阿拉善左旗| 宜春市| 柯坪县| 武城县| 沙雅县| 海门市| 壤塘县| 桃园县| 屯留县|