Flash 与 JavaScript/VC 交互 ExternalInterface接口

ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。Adobe 建议使用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。

在 Flash Player 中,可以使用 HTML 页中的 JavaScript 来调用 ActionScript 函数。ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。

 

ExternalInterface提供了与JavaScript交互的方法。

ExternalInterface.call允许在ActionScript中调用JavaScript。

call的第1个参数是JavaScript中的函数名, 其余的参数是要传递的参数, 可以是0到多个。

ExternalInterface.addCallback允许在JavaScript中调用ActionScript。

addCallback的第1个参数是JavaScript中调用的函数名,

第2个参数是当JavaScript执行时候调用的ActionScript函数。

 etc:

 

   //======================================================

js文件

function jsSayHi(){}

function asSayHello():void{}

//======================================================

as文件

function asSayHi():void{}

ExternalInterface.call("jsSayHi");

ExternalInterface.addCallback("asSayHello",asSayHi);

//======================================================

当as执行ExternalInterface.call("jsSayHi");时候,js文件中的jsSayHi()函数被执行。

 

ExternalInterface.addCallback("asSayHello",asSayHi);表示当js执行asSayHello()函数时候,as文件中的asSayHi()函数被执行。

 

 

 

1 : Flex中利用ExternalInterface类和ExternalInterface.call()函数调用JavaScript函数。

   注:编辑/html-template/目录下的“index.template.html” 文件。该文件是用来创建/bin-debug/和/bin-release/目录下的主HTML文件。如果你不是直接将JavaScript加在文件html中,而是用一个JS文件代替的话,那你可以在HTML文件中INCLUDE JS的文件:

  <scriptsrc="scripts.js"language="JavaScript"></script>

  如:ExternalInterface.call("vehTypeQuery", policy.vehInfo, policy.insKind, unitCode, basePath);

  调用由 Flash Player 容器公开的函数,不传递参数或传递多个参数。如果该函数不可用,调用将返回 null;否则,它返回由该函数提供的值。

 

2:ExternalInterface.addCallback() ;

  public static function addCallback(functionName:String, closure:Function):void ;

  如:ExternalInterface.addCallback("receivedFromVehTypeQueryJY", receivedFromVehTypeQueryJY);

   functionName:String — 容器可用于调用函数的名称。

   closure:Function — 要调用的 closure 函数。这可能是一个独立的函数,或者可能是引用对象实例方法的 closure 方法。通过传递 closure 方法,可以将回调定向到特定对象实例的方法。

 

 

   由ExternalInterface.call的方法传送 String,Number,Boolean,Object,Array至JavaScript,JS 显示在页面上后相应返回String,Number,Boolean,Object,Array给Player,Player接收后显示在 TextArea内;

 

   再由页面JavaScript分别传送String,Number,Boolean,Object,Array至Player ExternalInterface.addCallback的方法,Player先予以显示至TextArea内,然后返回 String,Number,Boolean,Object,Array给JavaScript;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值