flash和js通信实例
一:flash代码
import com.hexagonstar.util.debug.Debug; //alcon调试工具所需包 import flash.external.ExternalInterface; //js与flash交互所需包 import flash.events.Event; import flash.events.MouseEvent; var str: String = this .loaderInfo.parameters.myFlash; //加载时获取网页的flash对象 Debug. trace ( "flash:" +str); //输入对象看看是否为空 ExternalInterface.addCallback( "callFlash" ,flashTest); //js调用flash方法(在js那边调用的方法别名为callFlash) function flashTest(textValue: String ): void { myText.text=textValue; Debug. trace ( "js传过来的值为:" +textValue); } btnSend.addEventListener(MouseEvent.CLICK,sendFun); function sendFun(e:MouseEvent): void { ExternalInterface.call( "calljs" ,text1.text); //flash调用js中的方法 } |
二:html代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < head > < meta http-equiv = "Content-Type" content = "text/html; charset=gb2312" /> < title >flash和js通信实例</ title > < script language = "javascript" type = "text/javascript" > var flash;//flash对象 function sendData(obj) { var vtext=obj.value; if(navigator.appName.indexOf("Microsoft") > -1)//IE浏览器 { flash=window["myFlash"]; } else//兼容非IE浏览器、火狐等。 { flash=document["myFlash"]; } if(flash!=null&&flash!=undefined) { flash.callFlash(vtext);//js调用flash中的方法 } } function calljs(text) { document.getElementById("inputData").value=text; } </ script > </ head > < body bgcolor = "#ffffff" > <!-- 影片中使用的 URL--> <!-- 影片中使用的文本--> < p > < object classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase = "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width = "300" height = "100" id = "myFlash" align = "middle" > < param name = "allowScriptAccess" value = "sameDomain" /> < param name = "movie" value = "flash和js通信实例.swf" /> < param name = "quality" value = "high" /> < param name = "bgcolor" value = "#ffffff" /> < embed src = "flash和js通信实例.swf" quality = "high" bgcolor = "#ffffff" width = "300" height = "100" name = "myFlash" swLiveConnect = "true" align = "middle" allowScriptAccess = "sameDomain" type = "application/x-shockwave-flash" pluginspage = "http://www.macromedia.com/go/getflashplayer" /> </ object > </ p > < form name = "form1" id = "form1" method = "post" action = "" > < input type = "text" id = "inputData" name = "inputData" maxlength = "45" onchange = "sendData(this)" /> </ form > < p > </ p > </ body > </ html > |