- flex 利用ExternalInterface.addCallback(“注册的方法名”,As中的函数名)进行注册
 - js中,用document.getElementById(“Flash在Html中的ID”).注册的方法名(参数)进行调用,当然,默认”Flash在Html中的ID”就是Flex文件的名称
 
 
 - Flex里面使用ExternalInterface.call(“Js函数名称”,参数)进行调用javascript方法,其返回的值就是Js函数所返回的值
 
 
  
注意:具体使用时,要注意文档结构(flash与js在页面中的位置),对节点对象做相应的调整。 js调用flash function 的方法 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>call flash function </title> 
<script language=javascript> 
function test() 
 { 
  var str = document.getElementById('main').back(); alert(str); 
} 
</script> 
</head> <body> 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> 
 <param name="movie" value="main.swf" /> 
<param name="wmode" value="transparent"> 
 <param name="quality" value="high" /> 
<param name="bgcolor" value="ffffff" /> 
<param name="allowScriptAccess" value="always" /> 
<embed src="test.swf" quality="high" bgcolor="ffffff" width="217" height="24" name="upload" align="middle" play="true" wmode="transparent" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> 
 </embed> 
</object> 
</body> 
</html> 
 
 
flash 方法: 
<?xml version="1.0" encoding="utf-8"?><br><mx:Application xmlns:mx="[color=blue !important]http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> 
    <mx:Script> 
        <![CDATA[<br> 
            import mx.controls.Alert; 
            import flash.external.ExternalInterface; 
             public function initApp():void  { 
                ExternalInterface.addCallback("back",back); 
                ExternalInterface.call("test"); 
            }            
            public function back():String { 
                return "back"; 
            } 
        ]]>   
</mx:Script> 
</mx:Application> 
 
 
 |