不要让写程序变成一种负担

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  162 Posts :: 0 Stories :: 832 Comments :: 31 Trackbacks

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

       Flex提供了ExternalInterface对象用于和JavaScript进行互操作。对象分别提供了addCallBackCell方法:

 

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.

FlexSDK帮助文件写得还挺详细的,基本上能找到使用的方法。

posted on 2006-08-10 12:05 henry 阅读(1620) 评论(5)  编辑 收藏 所属分类: Flex

Feedback

#1楼  2006-08-10 12:24 aspnetx      
我十分想要一个flex,可惜找不到下载
  回复  引用  查看    

#2楼 [楼主] 2006-08-10 12:41 henry      
http://www.adobe.com/cfusion/tdrc/index.cfm?product=flex
可以到这里下载限制版,不过注册码到处都能找到。
  回复  引用  查看    

#3楼  2006-08-10 13:16 tiankong [未注册用户]
Flex-Ajax Bridge说的就是这个吧。还有没有相关的文章可以参考下?
  回复  引用    

#4楼  2006-08-14 13:10 777 [未注册用户]
Flex椒同胡工...
  回复  引用    

#5楼  2007-11-08 16:02 Jerryyu [未注册用户]
document.getElementById("MyApp")好像不行,我用了eclipse help中提供的函数getMyApp()成功了 window["MyApp"] document["MyApp"]
就可以了。
  回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-08-10 12:09 编辑过
 
另存  打印