首页 Flex与JavaScript互操作

Flex与JavaScript互操作

举报
开通vip

Flex与JavaScript互操作Flex与JavaScript互操作 2011.08.21 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信,ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口。在 Flash Play...

Flex与JavaScript互操作
Flex与JavaScript互操作 2011.08.21 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信,ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口。在 Flash Player 中,可以使用 HTML 页中的 JavaScript 来调用 ActionScript 函数。ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。 Flex 与JavaScript 交互,主要依靠Flex的ExternalInterface,其提供了addCallBack和call方法。 利用ActionScript,使用call方法,可以在HTMl页上执行以下操作: 调用任何 JavaScript 函数。 传递任意数量、具有任意名称的参数。 传递各种数据类型(Boolean、Number、String 等等)。 接收来自 JavaScript 函数的返回值。 通过在 HTML 页上使用 JavaScript,使用addCallback方法,可以: 调用 ActionScript 函数。 使用标准的函数调用表示法传递参数。 将值返回给 JavaScript 函数。 Flex调用JavaScript 你可以调用Html页面中的JavaScript,通过与JavaScript的交互,可以改变Style,调用远程方法。还可以将数据传递给Html页面,处理后再返回给Flex,完成这样的功能主要有两种方法:ExternalInterface()和navigateToUrl()。 在Flex中调用JavaScript最简单的方法是使用ExternalInterface(),可以使用此API调用任意JavaScript,传递参数,获得返回值,如果调用失败,Flex抛出一个异常。 ExternalInterface封装了对浏览器支持的检查,可以用available属性来查看。 ExternalInterface的使用非常简单,语法如下: flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object; 参数function_name是要调用的JavaScript的函数名,后面的参数是JavaScript需要的参数。 举个例子说明如何调用JavaScript函数 Flex应用中,添加如下方法: import flash.external.*; public function callWrapper():void { var f:String = "changeDocumentTitle"; var m:String = ExternalInterface.call(f,"New Title"); trace(m); } Html页面中有如下函数定义: 代码参考 FlexCallJs.mxml, FlexCallJs.html。 运行效果如下图所示: JavaScript调用Flex 在Flex中可以用ExternalInterface来调用Flex的方法,途径是 1. 通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex应用中通过调用addCallback()可以把一个方法添加到此列表中。 addCallback将一个ActionScript的方法注册为一个JavaScript和VBScript可以调用的方法。 addCallback()函数的定义如下: addCallback(function_name:String, closure:Function):void function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。 JsCallFlex.mxml代码如下所示: 那么在Html页面中,先获得SWF对象的引用,也就是用声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。 Html页面中有如下函数定义,其中“JsCallFlex”为页面引入swf的id名,可以直接在bin-debug目录下的对应html中进行添加修改做演示: JsCallFlex.html代码如下所示 代码参考 JsCallFlex.mxml, JsCallFlex.html。运行效果如下图所示:
本文档为【Flex与JavaScript互操作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_531881
暂无简介~
格式:doc
大小:85KB
软件:Word
页数:4
分类:互联网
上传时间:2012-09-12
浏览量:9