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 调用。
1function callMe(name:String):String {
2
3 return name+":" + txtUserName.text ;
4
5}
6
实际上 JavaScript 是不能直接调用 Flex 的内部方法的,那如何使 JavaScript 能够调用呢?
首先通过 ExternalInterface.addCallback("myFunction", callMe); 的方法进行注册,可以把方法放在 Applicaion. Initialize 的事件中。
方法第一个参数是:外部调用名称就是 JavaScript 调用的方法名称。
方法第二个参数是:代理执行 Flex 的内部函数。
JavaScript 通过以下方式调用 :
1function Button1_onclick() {
2
3 alert(document.all(' 相关 ActiveX 控件名称 ').myFunction('bbq'));
4
5 }
6
Call 方法
用于调用当前页面里的 JavaScript 方法 .
1<script id ="clientEventHandlersJS" language ="javascript">
2
3function getuserid()
4{
5
6 return 'henry' ;
7
8}
9
10</script >
11
在 Flex 里可以通过以下方式调用 getuserid() 方法。
var id:String= ExternalInterface.call("getuserid");
Alert.show(id);
Flex 在和 JavaScript 整合这方面做得非常好,你并不需要花费太多的工作就能够实现和页面数据元素进行数据交换;同样也可以调用已经有的 ajax 功能。
接下来学习的是不同页面的 Flex 应用实例如何共享信息。
最后还是老话一句,有兴趣的朋友多了解一下 Flex.
Flex 的 SDK 帮助文件写得还挺详细的,基本上能找到使用的方法
分享到:
相关推荐
例如,你想在JavaScript中执行一个名为`myJSFunction`的函数,并传递参数`arg1`和`arg2`: ```as3 var result:Object = ExternalInterface.call("myJSFunction", "arg1", "arg2"); ``` 这里的`result`对象会返回...
在JavaScript中,通过调用对应的Flex对象方法来触发Flex内部的操作。 3. **Flash Player的Bridge**:Flash Player充当了Flex和JavaScript之间的桥梁。当在Flex中调用JavaScript函数时,这个调用会被转换为Flash ...
本文将重点探讨ESRI解决方案中基于Flex API和JavaScript API构建地图应用的关键知识点。 #### ArcGIS Server Flex API:构建高度交互的地图应用 ArcGIS Server Flex API是ESRI提供的一套用于构建基于Flex的应用...
2. **在JavaScript中调用Flex方法**: 使用`window['flexObject'].flexMethod()`的格式在JavaScript中调用Flex的方法。`flexObject`是Flex应用在浏览器中的对象名,`flexMethod`是你要调用的Flex方法名。 标签 "源码...
例如,你可以在ActionScript中定义一个方法,然后使用`ExternalInterface.addCallback`来注册该方法,使其可以在JavaScript中被调用。同时,也可以通过`ExternalInterface.call`方法调用JavaScript函数。 2. **...
而在JavaScript中,你可以这样调用Flex的方法: ```javascript var flexApp = document.getElementById("myFlexApp"); var result = flexApp.callFromJS("参数1", "参数2"); console.log(result); ``` 接下来,我们...
- 在JavaScript中,通常使用`window['button']`或`document.getElementById('button')`来获取Flex组件的引用,这是因为Flex组件在HTML中是作为IFrame加载的,所以它们位于一个不同的命名空间中。 - 为了确保跨域...
1. **ActionScript**:Flex的基础是ActionScript,这是一种面向对象的脚本语言,类似于JavaScript,但支持类和接口。在Flex应用中,ActionScript用于编写业务逻辑和控制应用行为。你可以通过MXML和ActionScript的...
首先,你需要在JavaScript中声明要暴露的方法,然后在Flex中通过ExternalInterface.addCallback方法注册这些方法。 JavaScript示例: ```javascript window.FlexFunction = function(param) { // 处理来自Flex...
这个“flex操作pdf的demo”是关于如何在Flex环境中处理PDF文档的一个示例项目。Flex提供了强大的图形用户界面构建工具,而PDF(Portable Document Format)是一种广泛用于分享和分发文档的格式,它保持了文档的原始...
通过本文的介绍,我们可以看到Flex与JavaScript之间的交互非常灵活,不仅可以从Flex调用JavaScript,也可以反过来操作。这对于开发复杂的Web应用来说是非常有用的。需要注意的是,在实际项目中,为了保证安全性和...
在JavaScript中,调用Flex的方法通常是通过Flash对象(由Flash Player生成的)来实现的。假设Flash对象的ID为"myFlexApp",那么调用Flex中的"flexMethod"方法如下: ```javascript if (document.getElementById('...
标题中的"Flex和JS的相互调用,传参"指的是在Flex应用中调用JavaScript函数,或者在JavaScript中调用Flex组件的方法,并传递参数。这种互操作性是通过Adobe提供的`ExternalInterface`类实现的,它允许Flex和...
为了确保JavaScript与Flex之间的通信能够正确地建立起来,还需要在Flex应用中动态绑定JavaScript代码: ```as if (flash.external.ExternalInterface.available) { var jsStr:String; jsStr = ' eval("window....
- **JavaScript调用Flex**: 首先,Flex组件需要声明可被JavaScript调用的方法,然后在JavaScript中通过组件ID调用这些方法。例如,在Flex中声明一个可调用方法: ```actionscript [Bindable] public function ...
- 当JavaScript触发的事件需要在Flex组件中响应时,可以设置事件监听器并在JavaScript中触发事件。 6. **安全注意事项**: - 由于Flash Player的安全限制,不是所有JavaScript功能都可以在跨域环境中使用。确保...
这个压缩包包含四个不同版本的MapABC地图API文档:Flash版、JavaScript版、Silverlight版和Flex版,适用于不同技术背景和需求的开发者。 1. **MapABC地图API Flash版**:Flash作为一种早期的富互联网应用程序(RIA...
2. **JSON(JavaScript Object Notation)与XML(Extensible Markup Language)**:两种常用的数据交换格式,在Flex应用中用于客户端与服务器间的数据传输。 3. **互操作性**:Flex与JSON、XML之间的数据交换和处理...