JavaScript和Macromedia Flash的通信示例 原文地址: www.macromedia.com/support/flash/ts/documents/java_script_comm.htm 說(shuō)明: 略作修改,主要是一些很初級(jí)的操作; 又很多相似的文章,不過這個(gè)很權(quán)威
下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每個(gè)示例都有簡(jiǎn)略的步驟
本文討論了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)
注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支持這種方法.請(qǐng)查看本文的附加信息
Javascript到Flash的通信
這個(gè)例子演示了如何使用Flash的method把變量從HTML的input text 發(fā)送到該頁(yè)面中的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的值.為了簡(jiǎn)單起見和兼容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) 切換到代碼視圖,我們需要修改被選中的<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ù)制代碼的話,確保刪除不必要的換行.否則可能會(huì)引起錯(cuò)誤; 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è)計(jì)視圖 (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ā)生變化時(shí),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.保存文件,測(cè)試一下(F12)
出處:藍(lán)色理想
責(zé)任編輯:qhwa
上一頁(yè) 下一頁(yè) Flash 到 Javascript 的通信
◎進(jìn)入論壇Flash專欄版塊參加討論
|