flex,javascript,activex 调用

 

Flex最终会生成swf文件以ActiveX的方式部署网页上(html,jsp,asp,aspx等),由于ActiveX是一个独立体它并不能直接 获取页面的元素数据,同样asp,aspx等服务端代码也不对它进行操作,这样Flex的信息交互就变得很孤立。在Web用户程序中不同页的信息交换是非 常重要,通常这些信息明确下一个页面应该做什么;如果Flex得不到这些信息那么Flex在实际应用中就大打折扣!于是到网上找一下资料,发现自己的担心 是多余的。Flex提供相关对象可以灵活地和当前网页的JavaScript相互进行灵活的调用。那就是说可以通过JavaScript调用Flex内部 的方法,同样在Flex时也可以直接调用页面上相关的JavaScript方法。
       Flex提供了ExternalInterface对象用于和JavaScript进行互操作。对象分别提供了addCallBack和Cell方法:

addCallBack方法
用于注册一个内部方法用于给JavaScript调用。
function callMe(name:String):String {
    return name+":" + txtUserName.text  ;
}
实际上JavaScript是不能直接调用Flex的内部方法的,那如何使JavaScript能够调用呢?
首先通过ExternalInterface.addCallback("myFunction", callMe);的方法进行注册,可以把方法放在Applicaion. Initialize的事件中。
方法第一个参数是:外部调用名称就是JavaScript调用的方法名称。
方法第二个参数是:代理执行Flex的内部函数。
JavaScript通过以下方式调用:
function Button1_onclick() {
alert(document.all('相关ActiveX控件名称').myFunction('bbq'));
}

Call方法
用于调用当前页面里的JavaScript方法.
<script id="clientEventHandlersJS" language="javascript">
function getuserid()
{
     return 'henry';
}
</script>
在Flex里可以通过以下方式调用getuserid()方法。
var id:String= ExternalInterface.call("getuserid");
Alert.show(id);



Flex在和JavaScript整合这方面做得非常好,你并不需要花费太多的工作就能够实现和页面数据元素进行数据交换;同样也可以调用已经有的ajax功能。
接下来学习的是不同页面的Flex应用实例如何共享信息。
最后还是老话一句,有兴趣的朋友多了解一下Flex.
Flex的SDK帮助文件写得还挺详细的,基本上能找到使用的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值