上次說完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>