代码之家  ›  专栏  ›  技术社区  ›  hitek

外部接口

  •  0
  • hitek  · 技术社区  · 17 年前

    我在Java脚本中有一个Calc函数,它具有三个整数参数, 以下是AS3代码

    import flash.external.ExternalInterface;
    var para:Array = new Array();
    send_btn.addEventListener(MouseEvent.CLICK, clickListener);
    function clickListener(eventObj:Object ):void {
        para.push(mean.text);
        para.push(std.text);
        para.push(points.text);
        trace("click > " + para);
        ExternalInterface.call("calc",para );
    }    
    

    这是正确的方法吗?我如何从javascript中取回3个参数并在Flash中显示它们?

    1 回复  |  直到 17 年前
        1
  •  0
  •   EndangeredMassa    17 年前

    此外,还需要注册as函数,以便容器可以使用它:

    ExternalInterface.addCallback("callFlash", myASFunction);
    

    然后,从容器(JS)中调用as函数并传递您想要的任何参数。

    <script language="JavaScript"> 
    
        flashObject.callFlash(param1, param2, param3); 
    </script> 
    
    ... 
    
    <object id="flashObject"...> 
        ... 
        <embed name="flashObject".../> 
    </object>
    

    最后,在AS3中,编写容器“回调”时将执行的函数:

    function myASFunction(param1:String,param2:String,param3:String):void {
        trace("\n Received call from JS: " + param1 + param2 + param3);
    }