Flex 学习笔记------as 与 js 的通信

AS 中的ExternalInterface类 可以用于和JS的交互

1. AS 调用 JS

AS 调用 JS 主要使用 ExternalInterface.call() 方法:

var result:String =  ExternalInterface.call("jsFunc",params);
// jsFunc 是 js里面对应该函数的引用,params是该函数的形参
 <script type="text/javascript">
       function jsFunc(str){
           return("str");
       }
   </script>

2. JS 调用 AS

要想在 JS 中调用 AS,需要现在 AS 中调用 ExternalInterface.addCallback() 方法:

 private function asFunc(s:String):String{
       return s;        
 }
  
 ExternalInterface.addCallback("asFunc", asFunc);
// “asFunc” 是给外部 JS 调用使用的函数名,asFunc 对应 AS 中该函数的引用
 <script type="text/javascript">
       function callAs(){
          //  先要获取 <object> 这个dom
           document.getElementById("player").asfunc();
       }
   </script>    

 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="player">
       <param name="movie" value="player.swf" />
       <param name="quality" value="high" />
       <param name="bgcolor" value="#ffffff" />
       <param name="allowScriptAccess" value="sameDomain" />
       <param name="allowFullScreen" value="true" />
       <!--[if !IE]>-->
       <object type="application/x-shockwave-flash" data="player.swf" width="100%" height="100%">
           <param name="quality" value="high" />
           <param name="bgcolor" value="#ffffff" />
           <param name="allowScriptAccess" value="sameDomain" />
           <param name="allowFullScreen" value="true" />
           <!--<![endif]-->
           <!--[if gte IE 6]>-->
           <p>
               Either scripts and active content are not permitted to run or Adobe Flash Player version
               11.1.0 or greater is not installed.
           </p>
           <!--<![endif]-->
           <a href="http://www.adobe.com/go/getflashplayer">
               <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" />
           </a>
           <!--[if !IE]>-->
       </object>
       <!--<![endif]-->
   </object>

  

 

posted on 2013-07-25 21:13  花森  阅读(315)  评论(0编辑  收藏  举报