flex actionscript 和 javascript 通訊(2) javascript調用 actionscript的函數

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章