Flex通常作为一个web项目的一部分嵌入到一个web页中,因此Flex程序和web页面的通信就变得非常重要。
1) Flex提供了多种方法实现Flex程序和封装页面的交互,主要有:flashVars属性,查询字符串参数,navigateToURL()方法,以及flash.external.ExternalInterface类。
2) Flex程序 获取环境信息:Application.application.url获取封装页面的URL,以及使用@ContextRoot();以及可以通国 flash.system.Capacities获取到有关系统的一些信息,比如版本、语言、操作系统等;
3) flashVars用来从外部封装页面向Flex程序传送数据:
在封装页面传入参数值:AC_FL_RunContent(flashVars, “para1=value1&…¶n=valuen”)或者
<Object>
<param name=”movie” value=”wrapper.swf? para1=value1 />
<embed src=”wrapper.swf?para1=value1/>
</Object>
然后flex程序里通过 Application.application.parameters.para1获取参数值;
4) ExternalInterface提供方法使Flex程序和外部的封装页面可以相互调用对方的方法,外部接口类要受到域安全性设置(allowScriptAccess, allowNetworking)的约束。
先判断ExternalInterface是否可用:
ExternalInterface.available;
flex调用js:
ExternalInterface.call(funName, funPara1, …, funParaN);
js调用flex:
首先flex里面用ExternalInterface.addCallback(“jsFunName”,asFun),将AS里面定义的函数赋予一个js里面调用的函数的名字jsFunName;
然后在js里面用mySwf.jsFunName()调用flex里面提供的函数asFun;
ExternalInterface安全性:
一般来说js和flex的访问局限于同一个域之内。
可以设置<Object>和<Embed>的allowScriptAccess=”value”(value取值:never, always, sameDomain默认)来设置flex访问js的权限。
至于js对于flex方法的访问只有flex里面通过addCallback的js才可以访问,对于跨域,可以试用allowDomain()函数设置。
5) navigateToURL() 可以用来打开一个新的浏览器窗口,也可以用来flex和js之间的通信。比如:
打开一个新窗口:
var url:URLRequest = new URLRequest(http://blog.csdn.net);
navigateToURL(url, _blank);
这个函数也可以用来执行js,例如:
var url:URLRequest = new URLRequest(“javascript:window.close()”); 或者:
var urlLURLRequest = new URLRequest(“javascript:myFun(para1…paran)”)
myFun()函数是html页面的script部分定义的,函数参数一定要有引号!
navigateToURL(url, _self);
也可以用来发送email:
var urlURLRequest = new URLRequest(mailto:zoushun@hotmail.com);
navigateToURL(url, _blank);
分享到:
相关推荐
Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用程序。在本"Flex在Web中的应用实例"中,我们将深入探讨Flex如何...
本项目"myeclipse为web项目添加flex并实现与java通信"展示了一个使用MyEclipse集成开发环境(IDE)构建的Web应用程序,其中Flex用于前端用户界面的设计,而Java则作为后端提供数据和服务。以下将详细介绍这一技术...
在IT行业中,Flex是一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript和Flash Player。AMF(Action Message Format)是Adobe开发的一种二进制数据交换格式,主要用于提高Flex和服务器之间的通信效率。...
(1) **优秀的用户体验**:Flex基于Flash Player运行,几乎在所有主流浏览器上都能实现一致的性能,提供无缝的用户体验,避免了传统Web页面刷新和Ajax跨浏览器兼容性的问题。 (2) **高效的数据传输**:Flex支持AMF...
在本文中,我们将深入探讨如何实现Flex(Adobe Flex,一种用于构建富互联网应用程序的框架)与JavaScript之间的通信,这是Web开发中的一个重要概念。这两种技术在不同的层面上工作,但有时需要互相交互,以便在...
1. **Flex SDK**:Flex SDK是Adobe提供的免费开源工具包,包含了用于创建Flex应用程序的所有必要组件,如ActionScript编译器、Flex框架库和MXML编译器等。 2. **ActionScript**:Flex的主要编程语言是ActionScript...
1. **Flex**:Flex是由Adobe开发的一种用于构建RIA的开源框架,它允许开发者创建具有丰富用户体验的桌面和移动应用程序。在文件上传场景中,Flex通常负责提供用户界面,包括文件选择和上传进度显示。 2. **...
在这里,Flex被用来创建Web页面的用户界面,提供了一个可编辑的源码,使开发者可以根据需求定制聊天室的显示样式和交互逻辑。`.as`文件是ActionScript源代码,是Flex开发的主要语言,它与JavaScript类似,但具有面向...
由于Flash Player和浏览器之间的安全限制,Flex程序不能直接访问URL中的参数。因此,需要借助JavaScript作为中间层来读取这些参数。JavaScript可以通过`window.location`对象获取当前页面的URL,然后解析出参数部分...
Blazeds是一个Java远程控制(Remoting)和Web消息传递(Messaging)技术,它允许后端的Java应用程序与浏览器中的Adobe Flex应用程序进行交互。Blazeds以servlet的形式在Java应用服务器上运行,可兼容任何标准Java...
Flex和Java之间的通信是开发富互联网应用程序(RIA)时的一项关键技术。这个压缩包"flex/java通信包"包含了一些核心组件,使得Flex客户端可以与Java服务器进行无缝的数据交换。以下是关于Flex与Java通信以及压缩包中...
总的来说,这个源码实例为学习Flex和Red5的开发者提供了一个很好的起点,让他们了解如何使用Flex构建一个功能齐全的Web聊天应用,并通过Red5服务器实现客户端之间的实时通信。同时,这也是一个深入了解ActionScript...
在Web开发领域,Flash Flex和JavaScript之间的通信是一个重要的技术话题,尤其在构建富互联网应用程序(RIA)时。Flex是一款基于ActionScript的开发框架,用于创建交互式的、动态的Web应用程序,而JavaScript是网页...
然后,将Flex SWF文件和Blazeds配置文件部署到Web服务器的相应目录,确保JSP页面能够正确加载和初始化Flex应用程序。 在"flex4创建jspweb工程"的文件中,可能包含了上述过程中的源代码、配置文件示例以及可能的教程...
7. 监控和调试:BlazeDS提供了监控工具,如`/flex/services-monitor.html`页面,可以查看实时的通信状态和性能数据。此外,Flash Builder等IDE也有强大的调试工具,帮助开发者检查和调试Flex与BlazeDS之间的通信。 ...
综上所述,"Flex Blazeds java实现企业级Web系统页面"的源码是学习和掌握Flex与Java集成的一个宝贵资源,对于想要提升Web应用交互性和功能性的开发者来说,这是一个值得探索的领域。通过对源码的深入理解和实践,...
JS主要应用于浏览器端,负责处理用户交互和动态更新页面,而Flex是基于ActionScript 3(AS3)的开发框架,主要用于创建富互联网应用程序(RIA)。在某些场景下,如Java+Flex项目中,需要实现JS与Flex之间的通信,以...
Flex是由Adobe开发的一种基于ActionScript和MXML的开源框架,主要用于创建具有丰富用户体验的Web应用程序。它允许开发者创建动态、交互式的用户界面,同时提供了强大的数据可视化和图形处理能力。而Ajax...
通过配置 BlazeDS、编写 Java 服务以及在 Flex 中设置 RemoteObject,你可以构建出复杂的富互联网应用程序(RIA),实现客户端和服务器之间的双向通信。这个简单的 "HelloWorld" 示例展示了基础的设置步骤,为更复杂...