JavaScript和Macromedia Flash的通訊示例

crastinger發表於2009-03-15
原文地址: www.macromedia.com/support/flash/ts/documents/java_script_comm.htm
說明: 略作修改,主要是一些很初級的操作; 又很多相似的文章,不過這個很權威

下面是一些在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)

注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支援這種方法.請檢視本文的附加資訊

Javascript到Flash的通訊

這個例子演示瞭如何使用Flash的method把變數從HTML的input text 傳送到該頁面中的Flash檔案中.HTML input的資料透過Flash的SetVariable方法傳送到Flash檔案中.

檢視示例:示例
下載原始檔:

步驟:

Flash中
1.新建一個檔案,儲存為javascript_to_flash.fla
2.用文字工具在舞臺上建立一個文字域
3.選擇這個文字域,在屬性皮膚中,從下拉選單中選擇動態文字(Dynamic Text),在變數(variable)欄填上"myVar"
注意:最好的習慣是使用Instance,用myVar.text更改myVar的值(測試過myVar.text不能做變數名,可以使用myVar_text).為了簡單起見和相容Flash4和Flash5,我們使用的是變數名的形式.
4.儲存檔案
5.釋出HTML檔案和SWF檔案

Dreamweaver中
下一步的工作轉移到Dreamweaver中了,當然也可以是其他的HTML編輯器
1.開啟上一步釋出的HTML檔案
2.插入生成的SWF檔案和OBJECT/EMBED標籤
(1) Insert>Media>Flash,並選擇這個Flash
(2) 切換到程式碼檢視,我們需要修改被選中的標籤
(3) 在OBJECT標籤中,插入id="myFlash"<embed>

codebase="
flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">

注意:如果你是貼上複製程式碼的話,確保刪除不必要的換行.否則可能會引起錯誤; id也可以在屬性皮膚裡直接輸入
(4) 在EMBED標籤中,插入name="myFlash"和swLiveConnect="true",確保沒有使用id屬性!程式碼應當是這樣子的:

<embed>type="application/x-shockwave-flash" pluginspage="?
P1_Prod_Version=ShockwaveFlash"
name="myFlash" swLiveConnect="true">

3.建立表單域
(1) 回到設計檢視
(2) 插入文字域(Insert> Form Object> Text Field),如果詢問是否新增表單域,選擇是
(3) 把文字域的HTML標籤修改成這樣:


每當文字域內容發生變化時,onChange就被觸發,doPassVar()函式就被呼叫

4.建立傳遞變數值的Javascript函式
複製下面的Javascript到

標籤內


5.儲存檔案,測試一下(F12)

完整的例子




javascript_to_flash


<!-- 影片中使用的 URL--&gt
<!-- 影片中使用的文字--&gt

Example of Javascript-to-Flash communication


Enter some text in the HTML form field
below and then click outside the field, or hit the Tab key, to send the text
to the Flash movie below:





codebase="" width="300"
height="300" id="myFlash" align="middle">




<embed>height="300" name="myFlash" align="middle" allowscriptAccess="sameDomain"
type="application/x-shockwave-flash" pluginspage="" />





注意:html和swf檔案已經要放在應用伺服器,才可以訪問,否則會彈出flash通訊的對話方塊設定[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21107256/viewspace-1018741/,如需轉載,請註明出處,否則將追究法律責任。

相關文章