我如何使用javascript与actionscript?

时间:2014-04-20 13:51:23

标签: javascript flash actionscript

我有一个flex web项目,我需要使用一些java脚本函数(例如地理位置),所以任何人都可以帮助我理解将它们与彼此联系起来的方式。

1 个答案:

答案 0 :(得分:0)

ExternalInterface类用于swf和位于同一页面的javascripts之间的通信。

通过在as3中使用ExternalInterface.call(“functionName”,functionParams ...)函数,您可以在网页中调用javascript中的任何函数。 要从javascript注册要在flex中调用的函数,请使用ExternalInterface.addCallback(“functionName”,functionReference)。

用法:

package {
   import flash.display.MovieClip;
   import flash.external.ExternalInterface;

   public class EITest extends MovieClip {
     public function EITest() {
         registerWithJavascript();
         makeCall();
     }

     public function registerWithJavascript():void {
       // To register a function with javascript
       var isAvailable:Boolean = ExternalInterface.available;

       if(isAvailable)
          ExternalInterface.addCallback("callbackName", actualCallback);
     }

     public function actualCallback():void {
         // Do something
     }

     public function makeCall():void {
       // To call a javascript function
       var isAvailable:Boolean = ExternalInterface.available;
       var someParamToSend:int = 13;

       if(isAvailable)
          ExternalInterface.call("someFunction", someParamToSend);
     }
   }
 }