上次说完actionsript调用javascript的函数,这次来说一下javascript调用actionsript的函数。
这个功能要使用ExternalInterface.addCallback( functionName:String, closure:Function):void 函数
functionName 是要注册的函数名字,也就是javascript可以使用的函数名字,
closure是实际的函数执行体。
下来举例说明
在as中
ExternalInterface.addCallback("showName",OnShowName);
private function OnShowName():string{
return "hello function test";
}
在网页中,代码
<script language="JavaScript">
function thisMovie(movieName){
if(navigator.appName.indexOf("Microsoft") != -1){
return window[movieName];
}else{
return document[movieName];
}
}
function CallAS( ) {
thisMovie("ViewLesson").showName();
}
</script>
<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="ViewLesson" width="100%" height="100%"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="ViewLesson.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="ViewLesson.swf" quality="high" bgcolor="#869ca7"
width="100%" height="100%" name="ViewLesson" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</body>