ExternalInterface 类允许Flash 播放器以异步的方式与宿主程序进行通信,宿主程序一般指的是
Web 浏览器。
1,使用ActionScript调用JavaScript 函数:ExternalInterface.call();
需要在HTML页面中定义该函数,如:
<script>
function lee(){
document.write(Date());
}
</script>
2,如果ExternalInterface 不支持浏览器, 而你又想调用JavaScript 函数, 还可使用
flash.net.navigateToURL( ) 函数。
navigateToURL( ) 函数是异步调用,还有它没有返回值,调用JavaScript函数还须用flash.net
URLRequest对象进行包装,下面的例子调用JavaScript alert( ) 函数:
a,var request:URLRequest = new URLRequest("javascript:alert('example');");
navigateToURL(request);
b,navigateToURL::: var urlRequest:URLRequest = new URLRequest(this.loaderInfo.parameters.mainPage);
navigateToURL(urlRequest , "blank");
网页中嵌入SWF
方式1:
<object data="hsxyLoader.swf" name="hsxyLoader" id="hsxyLoader" type="application/x-shockwave-flash" align="middle" height="580" width="1000">
<param value="high" name="quality">
<param value="#000000" name="bgcolor">
<param value="sameDomain" name="allowscriptaccess">
<param value="true" name="allowfullscreen">
</object>
方式2:
为了兼容所有的浏览器,需要以OBJECT方式插件Flash:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="550" height="400">
<这段代码中的classid 控件的id,使浏览器识别该ActiveX控件(仅用于 object标 签) codebase Flash Player 的 ActiveX 控件下载地址,使浏览器在未安装该插件时可以自动下载(仅用于 OBJECT标 签) ,width 指定动画的宽度,可用像素或百分比表示height 指定动画的高度,可用像素或百分比表示(此例宽高分别为550和400像素) >
<param name="movie" value="demo.swf">
<param name="quality" value="high">
<embed src="http://blog.163.com/quyan8869@126/blog/demo.swf" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550"
height="400"></embed>
</object>