ExternalInterface的简单用法

来源:互联网 发布:阿里云域名注册流程 编辑:程序博客网 时间:2024/06/09 23:59

 ExternalInterface的简单用法

使用ExternalInterface调用JavaScript方法-无返回值
flex代码
------------------
<mx:Button id="btn" label="Button" click="hello()"/>
<mx:Script>
 <![CDATA[
  private function hello():void{
         ExternalInterface.call("sayHello");
        }
 ]]>
</mx:Script>

JavaScript代码
---------------------
function sayHello(){
 alert("Hello from JavaScript!");
}

===================================
使用ExternalInterface调用JavaScript方法-传参数有返回值
flex 代码
------------------
<mx:Button id="btn" label="Button" click="hello()"/>
<mx:Script>
 <![CDATA[
  private function hello():void{
         var msg:String=ExternalInterface.call("sayHello","Hello","from JavaScript!");
  Alert.show(msg);
        }
 ]]>
</mx:Script>

JavaScript代码
---------------------
function sayHello(msg,str){
 return msg+"-"+str;
}

===============================================
JavaScript调用flex 方法
flex 代码
------------------
<mx:Button id="btn" label="Button" click="hello()"/>
<mx:Script>
 <![CDATA[
  private function hello():void{
         ExternalInterface.addCallback("getHello",getHello);
        }
 ]]>
</mx:Script>

JavaScript代码
---------------------
function sayHello(){
 var msg=CheckLayout.getHello();
 alert(msg);
}
<body scroll="no">
<input type="button"value="点击我" width="100" onclick="sayHello()"/>
<noscript>
   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
   id="CheckLayout" width="100%" height="100%"
   codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
   <param name="movie" value="CheckLayout.swf" />
   <param name="quality" value="high" />
   <param name="bgcolor" value="#869ca7" />
   <param name="allowScriptAccess" value="sameDomain" />
   <embed src="CheckLayout.swf" quality="high" bgcolor="#869ca7"
    width="100%" height="100%" name="CheckLayout" align="middle"
    play="true"
    loop="false"
    quality="high"
    allowScriptAccess="sameDomain"
    type="application/x-shockwave-flash"
    pluginspage="http://www.adobe.com/go/getflashplayer">
   </embed>
 </object>
</noscript>
</body>