<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 16  文章 - 42  trackbacks - 0
    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    失業中…

    常用鏈接

    留言簿(7)

    隨筆檔案(16)

    技術Blog

    搜索

    •  

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每個示例都有簡略的步驟

    本文討論了3種基本的Flash/Javascript通信方式:
    Javascript 到 Flash的通信----使用Flash播放器的javascript方法
    Flash 到 Javascript的通信----使用Flash的fscommand
    Flash 到 Flash的通信----------使用本地連接對象或綜合上2種技術


    并不是所有的瀏覽器都很重視腳本.為了和Flash播放器通信,瀏覽器必須有內置的鉤子以便Flash播放器可以'監聽'.瀏覽器必須是下列的幾種:
    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 發送到該頁面中的Flash文件中.HTML input的數據通過Flash的SetVariable方法傳送到Flash文件中.

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

    步驟:

    Flash中
    1.新建一個文件,保存為javascript_to_flash.fla
    2.用文字工具在舞臺上創建一個文本域
    3.選擇這個文本域,在屬性面板中,從下拉列表中選擇動態文本(Dynamic Text),在變量(variable)欄填上"myVar"
    注意:最好的習慣是使用Instance,用myVar.text更改myVar的值.為了簡單起見和兼容Flash4和Flash5,我們使用的是變量名的形式.
    4.保存文件
    5.發布HTML文件和SWF文件

    Dreamweaver中
    下一步的工作轉移到Dreamweaver中了,當然也可以是其他的HTML編輯器
    1.打開上一步發布的HTML文件
    2.插入生成的SWF文件和OBJECT/EMBED標簽
    (1) Insert>Media>Flash,并選擇這個Flash
    (2) 切換到代碼視圖,我們需要修改被選中的<OBJECT>和<EMBED>標簽
    (3) 在OBJECT標簽中,插入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">
    注意:如果你是粘貼復制代碼的話,確保刪除不必要的換行.否則可能會引起錯誤; id也可以在屬性面板里直接輸入
    (4) 在EMBED標簽中,插入name="myFlash"和swLiveConnect="true",確保沒有使用id屬性!代碼應當是這樣子的:

    <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.創建表單域
    (1) 回到設計視圖
    (2) 插入文本域(Insert> Form Object> Text Field),如果詢問是否添加表單域,選擇是
    (3) 把文本域的HTML標簽修改成這樣:

    <input type="text" name="sendText" maxlength="45" onChange="doPassVar(this)">
    每當文本域內容發生變化時,onChange就被觸發,doPassVar()函數就被調用

    4.創建傳遞變量值的Javascript函數
    復制下面的Javascript到<head></head>標簽內

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


    Flash到Javascript的通信
    從HTML可以發送數據到Flash,反過來也可以. 這個例子演示了如何應用Flash的Fscommand來發送數據到Javascript.

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

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

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

    Dreamweaver中
    1.打開導出HTML文件,修改<OBJECT>和<EMBED>標簽,結果同上:
    <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>標簽內:
    <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

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

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

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

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

    Play() ---------------------------------------- 播放動畫
    StopPlay()------------------------------------停止動畫
    IsPlaying()----------------------------------- 動畫是否正在播放
    GotoFrame(frame_number)---------------- 跳轉到某幀
    TotalFrames()------------------------------- 獲取動畫總幀數
    CurrentFrame()------------------------------回傳當前動畫所在幀數-1
    Rewind()-------------------------------------使動畫返回第一幀
    SetZoomRect(left,top,right,buttom)-------放大指定區域
    Zoom(percent)------------------------------改變動畫大小
    Pan(x_position,y_position,unit)------------使動畫在x,y方向上平移
    PercentLoaded()----------------------------返回動畫被載入的百分比
    LoadMovie(level_number,path)----------- 加載動畫
    TGotoFrame(movie_clip,frame_number)- movie_clip跳轉到指定幀數
    TGotoLabel(movie_clip,label_name)------ movie_clip跳轉到指定標簽
    TCurrentFrame(movie_clip)--------------- 回傳movie_clip當前幀-1
    TCurrentLabel(movie_clip)-----------------回傳movie_clip當前標簽
    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指定標簽上的action
    TGetProperty(movie_clip,property)--------獲取movie_clip的指定屬性
    TSetProperty(movie_clip,property,number)-設置movie_clip的指定屬性

    flash與javascript交互演示:http://www.v-ec.com/dh20156/code/jsflash/fj.htm

    javascript與flash交互演示:http://www.v-ec.com/dh20156/code/jsflash/jf.htm

    posted on 2007-06-22 21:01 梅雪香 閱讀(6174) 評論(2)  編輯  收藏

    FeedBack:
    # re: 3種基本的Flash/Javascript通信方式 2009-05-21 22:17 魔獸世界私服
    好東西,學習了,,,,講得好啊,  回復  更多評論
      
    # re: 3種基本的Flash/Javascript通信方式 2009-12-08 19:06 shard
    多謝  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产黄色免费观看| 成人免费淫片在线费观看| 亚洲国产日韩在线人成下载| 成年人在线免费观看| 九九免费观看全部免费视频| 亚洲综合无码一区二区三区| 日本一道本高清免费| 免费国产午夜高清在线视频| 亚洲日本人成中文字幕| 久久综合亚洲色HEZYO国产| 无码精品A∨在线观看免费| 无码毛片一区二区三区视频免费播放 | 两个人的视频www免费| 亚洲日韩乱码中文无码蜜桃臀| 日韩亚洲国产综合久久久| 色欲国产麻豆一精品一AV一免费| 亚洲第一街区偷拍街拍| 久久精品国产精品亚洲蜜月| 免费看大黄高清网站视频在线| 免费看搞黄视频网站| 亚洲爆乳精品无码一区二区| 中文字幕亚洲精品资源网| 亚洲精品国产精品乱码不卡| 在线观看无码AV网站永久免费| 中文字幕在线免费视频| 亚洲av成人一区二区三区观看在线 | 一级成人a免费视频| 亚洲人成电影在线观看网| 亚洲综合色婷婷七月丁香| 免费高清资源黄网站在线观看| 一级毛片在线免费观看| 人体大胆做受免费视频| 一本色道久久综合亚洲精品蜜桃冫 | 日韩成人免费aa在线看| 57pao国产成视频免费播放| 两个人看的www免费视频| 色屁屁www影院免费观看视频| 久久亚洲精品国产精品婷婷| 久久久久亚洲精品无码蜜桃| 亚洲色精品88色婷婷七月丁香| 国产美女精品视频免费观看|