http://www.cnblogs.com/henryfan/archive/2008/09/16/473138.html
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帮助文件写得还挺详细的,基本上能找到使用的方法。

- 大小: 16.1 KB

- 大小: 15.5 KB
分享到:
相关推荐
- Flex通过设置`ExternalInterface.addCallback`的回调函数,监听JavaScript环境的变化,一旦ActiveX的调用完成并返回数据,JavaScript会调用这个回调函数,将结果传回Flex。 5. **安全和兼容性**: 使用此方法...
压缩包中的 "Flex-js-activex-相互调用自己做的实例" 文件很可能是包含了一个实际应用示例,展示了如何实现 Flex 4.5 与 JavaScript 和 OCX 控件的交互。这个实例可能包括一个 Flex 项目,其中定义了与 JS 交互的...
C#版ActiveX + JS +Flex通訊 全實現 因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為中間層,作為Flash和ActiveX通訊的橋梁。 ...
4. **集成Flex控件**:在MFC应用中,使用ActiveX控件或第三方库(如FlexNet)来加载和显示SWF文件。在对话框或者视图中添加控件,并设置其大小和位置。 5. **通信机制**:为了实现MFC与Flex之间的通信,可以利用...
4. **与HTML/JavaScript交互**:`KunLunUpFile.html`可能是包含Flex组件的HTML页面,`AC_OETags.js`是Adobe的ActiveX或JavaScript库,用于在浏览器中嵌入Flash内容。在某些情况下,Flex组件可能需要与HTML页面中的...
6. **日志记录**:Flash Player Debugger还支持输出详细的日志信息,这些信息可以在浏览器的JavaScript控制台或专门的日志查看器中查看。 7. **兼容性测试**:由于Flash Player Debugger专注于调试,可能与其他非...
5. AC_RunActiveContent.js:这是Adobe的JavaScript库,用于在没有Flash Player的情况下自动检测和安装,确保Flex应用能在用户的浏览器中正常运行。 6. articles.swf:这是编译后的Flex应用程序,包含所有的UI和业务...
瘦客户端依赖HTTP、HTML、JavaScript等标准Web技术,而胖客户端则通过插件如Plug-in、ActiveX控件、Java Applet或SVG技术提升浏览器功能。目前,瘦客户端开发模式已成为WebGIS的主流,尤其是B/S架构的WebGIS。 然而...
为了简化地图发布的开发流程,ArcIMS提供了多种应用服务器连接器,如ActiveX Connector、JavaConnector等。这些连接器定义了大量的接口和数据类型,避免了直接使用ArcXML与ArcIMS通信的复杂性。 ##### 1.2 现有的...
在Flex开发环境中,通过JavaScript获取客户端IP地址和计算机名的示例代码,主要涉及以下知识点: 1. Flex基础:Flex是由Adobe公司开发的一个开源的应用框架,用于构建跨平台的富互联网应用程序(RIA)。Flex结合了...
CS技术(Client-Server)依赖本地客户端软件,如Java Applet或ActiveX控件,优点是性能强,但部署困难,平台兼容性差。 BS技术(Browser-Server)以HTML为基础,借助浏览器中的JavaScript、CSS等技术实现界面,易于...
在本示例中,我们将探讨如何使用Flex与JavaScript结合来实现这一目标。标题提到的"flex通过js获取ip和pcname示例代码"正是针对这一需求提供的一个解决方案。 首先,我们来看JavaScript部分。在JavaScript中,获取PC...
在Flash端暴露JavaScript接口,然后在WPF中通过WebBrowser控件的Document.InvokeScript调用来访问这些接口。 - 反之,WPF也可以通过设置Flash控件的属性或调用方法来影响Flash的行为。 6. **安全与性能考虑** - ...
前者是ActiveX控件的调试版本,主要适用于Internet Explorer浏览器,因为ActiveX是微软开发的技术,主要用于IE。后者是已经提及的浏览器插件形式的调试版本,可能适用于更多种类的浏览器,如Firefox、Chrome等,因为...
Adobe Flex是一种用于构建富互联网应用(RIA)的开源框架,可以创建类似Flash的互动用户界面,但其编译出的是AIR(Adobe Integrated Runtime)应用或SWF文件。 5. **文件名列表中的19.flexPlayer**:这可能是指一个...
然而,有一些非标准的方法,如通过Socket连接或特定的ActiveX控件,可能在某些情况下可以间接获取这些信息,但这种方法通常不推荐,因为它可能侵犯用户隐私,并且在现代浏览器中可能不再可行。 5. **...
可以使用ActionScript调用PB的ActiveX接口,或者PB通过JavaScript与WebViewer中的Flash进行交互,实现数据的传递。 - **性能优化**:Flash元素可能会增加应用的内存占用和CPU使用,因此在设计时要考虑到性能影响,...
Adobe AIR(Adobe Integrated Runtime)是Adobe Systems开发的一款跨平台的应用程序运行环境,允许开发者使用HTML、JavaScript、Flash以及Flex等技术创建桌面应用。它可以在多个操作系统上运行,如Windows、Mac OS...