首先,第一点是在html中嵌入swf文件
如下,在html中插入语句
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="500px" id="mapFlash">
<param name="movie" value="#{facesContext.externalContext.requestContextPath}/flex/qycx.swf" />
<param name="wmode" value="transparent" />
<param name="menu" value="false"/>
<param name="quality" value="high" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="true" />
<object type="application/x-shockwave-flash" data="#{facesContext.externalContext.requestContextPath}/flex/qycx.swf" width="1000"
height="460" id="blog_index_flash_ff">
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="menu" value="false"/>
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="true" />
</object>
</object>
注意上面中的
#{facesContext.externalContext.requestContextPath}/flex/qycx.swf
其实就是要获得指定swf文件的位置,获取路径的方法各种各样。
这样一来html中嵌入swf文件就ok了。
当然,这里swf是flash文件xxx.mxml文件生成的。
要在html的js中调用swf文件的函数,我们一开始的时候需要在
xxx.mxml文件中注册js中函数和swf函数的关系
ExternalInterface.addCallback("query",queryQY);
这里query是js中的函数,queryQY是swf中的函数
js中query如下
function query(qybm) {
document.getElementById("mapFlash").query(qybm);
}
mapFlash是<object>标签中的id
swf中queryQY函数入如下
private function queryQY(qybm:String):void{
}