您的位置:首页 > Web前端 > JavaScript

flash和js通信实例

2011-05-25 22:54 363 查看
一: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代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>flash和js通信实例</title>
<mce: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;
}

// --></mce: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" mce_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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息