传统web项目里加入flash最简单的办法就是flash项目里提供一些方法,供js调用,如下:
1、as里有如下方法:
function showAlert(msg:String):String{
return "flash say hello to "+msg;
}
ExternalInterface.addCallback("showAlert",showAlert); //添加此句,允许js访问flash里的方法
2、将此swf 方法放到项目中,新建一个html页面,页面中添加一个object,如下:
<div style="width: 0px;height: 0px;">
<object width="100" height="100" id="testFlash"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
<param value="/testFlash/Main.swf?id=<%=System.currentTimeMillis() %>" name="movie" /> //swf路径
<param value="high" name="quality" />
<param name="wmode" value="transparent"/>
<param value="#ffffff" name="bgcolor" />
<param value="always" name="allowScriptAccess" />
<embed width="100" height="100"
pluginspage="http://www.adobe.com/go/getflashplayer"
type="application/x-shockwave-flash" allowscriptaccess="always"
quality="high" loop="false" play="true" name="printTool" wmode="transparent"
src="/testFlash/Main.swf?id=<%=System.currentTimeMillis() %>" ></embed>
</object>
</div>
3、js里得到object ,直接调用showAlert()方法,如下:
function showAlert(msg){
document.getElementById('testFlash').showAlert(msg);
}
这样就可以访问flash里的方法了!