- 浏览: 501745 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Tang叁藏:
没图啊!!楼主
天地图-地图投影技术剖析与思考 -
liuxing8807:
不知道怎么用
google地图经纬度偏移修正算法完美解决方案 -
copyday:
step6是Foo, step7是Bar。(foo和bar 中 ...
osworkflow学习笔记-这一步步是咋连起来的呢 -
haowanlisx:
谢谢!太感谢,我还以为flex3不能实现用组件导出excel呢 ...
FileReference.save()方法找不到? -
shootboss:
问下,用infoWindowRenderer怎样才能监听到in ...
ags infoWindow 应用
原帖http://space.zdnet.com.cn/html/84/289384-2787313.html
这个网站用firefox打开有毛病。。。
Flex采用IFrame嵌入html,可参考http://www.deitte.com/archives/2006/08/finally_updated.htm ,这是Brian Deitte写的一个IFrame. Control对象,非常好用。但在实际应用中,还会有一些问题,需要在外围解决。
(1)使用IFrame可能碰到的问题:不能随着窗口的位移或调整自动调整。
我是在Popup的TitleWindow中,采用TabNavigator动态载入一些Tab,这些Tab页可能是Flex Container,也可能是IFrame. Control(也就是嵌入的iframe中html页面)。因为是扩展出的TitleWindow,允许调整大小和位移,但在调整大小和位移过程中,会造成 IFrame. 中的html页面不跟随移动。
这个问题就必须额外监控mouse事件,刷新IFrame的invalidateDisplayList。
view plaincopy to clipboardprint?
<mx:TabNavigator id="nav"
dropShadowEnabled="true" width="98%" height="100%" horizontalGap="0"
change="checkIFrameTabPaneVisible(event)"/>
<mx:TabNavigator id="nav"
dropShadowEnabled="true" width="98%" height="100%" horizontalGap="0"
change="checkIFrameTabPaneVisible(event)"/>
view plaincopy to clipboardprint?
override protected function
oMouseUp(event:MouseEvent):void{
super.oMouseUp( event );
//cacheIFrameTabPanels是索引的当前TabNavigator中所有IFrame对象
for
each(var panel:IFrame. in cacheIFrameTabPanels){
Container(panel).invalidateDisplayList();
}
}
override
protected function oMouseUp(event:MouseEvent):void{
super.oMouseUp( event
);
//cacheIFrameTabPanels是索引的当前TabNavigator中所有IFrame对象
for
each(var panel:IFrame. in
cacheIFrameTabPanels){
Container(panel).invalidateDisplayList();
}
}
(2)使用IFrame可能碰到的问题:Tab切换多次后,造成html页面悬浮,不切换。
这时候,必须额外监控tabnavigator的change事件,将IFrame设置visible为false,(实际上就隐藏iframe中的html页面)。
view plaincopy to clipboardprint?
protected function
checkIFrameTabPaneVisible(event:IndexChangedEvent):void{
var
panel:DisplayObject = nav.getChildAt( nav.selectedIndex );
for
each(var panel1:IFrame. in cacheIFrameTabPanels){
Container(panel1).visible = false;
}
if(panel is IFrame){
Container(panel).visible = true;
}
}
protected
function checkIFrameTabPaneVisible(event:IndexChangedEvent):void{
var
panel:DisplayObject = nav.getChildAt( nav.selectedIndex );
for
each(var panel1:IFrame. in cacheIFrameTabPanels){
Container(panel1).visible
= false;
}
if(panel is IFrame){
Container(panel).visible =
true;
}
}
(3)使用IFrame可能碰到的问题:Popup的TitleWindow关闭后,html页面仍悬浮。
这个就简单多了,监听TitleWindow的close事件,将相应的IFrame. visible设置为false即可。
(4)IFrame并没有对嵌入的iframe和html做回收,这个需要自己扩展。
IFrame中只是采用了visible来隐藏和显示iframe的内容。所以在实际应用中,需要对一些操作做回收,这个需要自己扩展。
评论
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);
发表评论
-
ArcGIS API for Flex 调用天地图、e都会瓦片地图
2012-05-30 18:59 5318ArcGIS API for Flex 调 ... -
actionscript 绘制环形(中空)图形
2012-03-20 11:28 1922<?xml version="1.0&q ... -
绘制环形/中空图形
2012-03-20 11:21 0<?xml version="1.0" ... -
flex4 表格加载 xml文件数据
2012-02-19 17:27 0<fx:Declarations> < ... -
ags infoWindow 应用
2012-02-13 16:32 83281 首先如何设置 infowindow或infoWindowR ... -
flex builder 配置 文件 中文 乱码
2012-02-11 22:31 1394记事本打开另存,下面的有格式选项,选UTF-8,然后放到项目目 ... -
在Flex4中嵌入字体
2012-02-05 22:10 3207<fx:Style> @namespa ... -
flex4 绕中心 旋转和翻转
2012-01-27 14:30 9223特别参考文章:http://uh.9ria.com/space ... -
在Flash和Flex中用matrix.rotate方法实现显示对象绕点旋转
2012-01-26 21:57 2自转与公转 http://uh.9ria. ... -
Flex 3D旋转的各种实现
2012-01-22 23:55 2730大年夜,在整flex 3d旋转呵呵。 传说大年夜写程序,来年发 ... -
Flex皮肤制作笔记
2012-01-16 10:38 1609Titlewindow的创建流程 1、先创建皮肤 命名为:t ... -
Flex 4 设置背景图片
2012-01-16 10:31 3346Flex 3中Canvas是可以设置backgroundIma ... -
谈谈ActionScript垃圾回收
2011-12-09 14:57 1542转自:http://kevincao.com/2011/08/ ... -
actionscript flex 中三维坐标和屏幕(二维)坐标的转换
2011-12-03 17:44 4800flash.display.DisplayObject ... -
arcgis flex api2.4 学习笔记
2011-11-24 19:43 6641本文仅记录通过浏览官 ... -
快速创建精彩的Flash游戏 (二) Flash3D引擎简介
2011-11-19 10:34 1607原帖: http://www.fans8.com/?p=663 ... -
flex 滤镜样式在线预览
2011-11-10 11:26 2196好多效果没用过 -
Flex StringUtil 工具类 字符串函数
2011-10-29 18:35 4677转自:http://www.cnblogs.com/god_b ... -
Flex 4 中Spark组件利用SkinClass外观设计
2011-10-19 23:05 1179原文:http://ctwen.iteye.com/blog/ ... -
Flex4 中skinclass使用Path绘制多边形
2011-10-19 22:29 1352skinClass中绘制多边形使用Path标签,把绘制路径放在 ...
相关推荐
这两种方法都可以实现Flex SWF文件与HTML的交互,但具体使用哪种取决于需求和浏览器兼容性。在IFrameDemo的例子中,我们可能还会用到`<iframe>`标签,它允许我们在一个HTML页面内嵌入另一个页面,这样可以将Flex应用...
在“FLEX嵌入HTML(精简版)”的例子中,我们将学习如何利用FLEX的强大功能与HTML的灵活性相结合,以提升用户体验。HTML由于其易读性和丰富的标记能力,常用于构建网页结构和内容,而FLEX则擅长提供动态交互和视觉效果...
在Flex应用中嵌入HTML是一种常见的需求,这可以让我们在富客户端环境中利用HTML的灵活性和丰富性。Flex是由Adobe开发的一种开源框架,主要用于构建RIA(Rich Internet Applications)即富因特网应用程序。它允许...
根据提供的标题、描述、标签及部分内容,本文将详细介绍Flex与后台进行交互的三种主要方法:通过FlashVars传递参数、利用HttpService服务以及采用URLLoader组件。这些方法在Flex开发中非常常见,对于实现数据的前后...
Flex是Adobe公司开发的一种富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用。而JSP(JavaServer Pages)是Java平台上的动态网页技术,用于开发服务器端的...
2. **Web+Flex集成**:Flex应用程序通常运行在Adobe Flash Player插件之上,嵌入到Web浏览器中。通过HTTP或HTTPS协议,Flex可以与服务器端进行通信,获取或发送数据。这使得Flex成为创建动态、交互性强的Web应用的...
将Flex嵌入到JSP页面中,可以结合两者的优点,提供丰富的图形用户界面和强大的后端数据处理能力。 在将Flex嵌入到JSP页面时,可能会遇到一个常见的问题:Flex组件被其他元素遮挡。这通常是由于CSS样式冲突或者布局...
标题与描述概述的知识点是关于如何将Flex框架嵌入到JSP页面中,以实现更丰富的数据可视化功能,特别是图表的展示。以下是基于标题、描述、标签以及部分内容的详细解析和扩展。 ### Flex嵌入JSP开发心得 #### 1. ...
- `html-template`:Flex编译生成HTML包的模板,用于嵌入SWF。 - `.settings`:项目特定的Eclipse或IDE设置目录。 - `src`:源代码目录,通常包含Flex应用的ActionScript类和MXML文件。 - `libs`:库文件夹,放置...
### 关于JS与Flex的交互知识点 #### 一、引言 随着Web技术的发展,不同技术栈间的交互变得越来越重要。本篇文章将详细介绍如何在HTML环境中实现JavaScript(简称JS)与Flex之间的数据交换与功能调用。具体而言,...
通过IFrame组件,可以实现Flex应用程序与嵌入HTML页面之间的交互。Flex组件可以调用HTML页面中定义的JavaScript函数,并且JavaScript函数的返回值也可以被Flex应用程序捕获和使用。 Flex IFrame组件支持一系列的...
Flex是Adobe公司开发的一种富互联网应用程序(Rich Internet Application, RIA)框架,它主要用于构建具有交互性和动画效果的用户界面。Web技术则是构建和展示网页内容的工具集合,包括HTML、CSS和JavaScript等。这...
在IT领域,特别是针对网页应用开发,Flex框架与HTML容器之间的数据交互是一个常见的需求场景。Flex,作为一种基于Adobe Flash的富互联网应用开发框架,能够创建高性能、跨平台的应用程序。然而,Flex程序如何从HTML...
这种交互允许 Flex 应用程序利用网页的特性,如修改 DOM 元素、处理页面事件或与服务器进行 AJAX 通信。JavaScript 调用 Flex 函数通常需要在 Flex 中先声明该函数为可外部访问的,然后在 JS 中通过 SWFObject 注册...
6. **部署**:将编译后的SWF文件集成到Web服务器,通过HTML页面嵌入SWF,或者使用Flex的HTTPService、WebService等方式与服务器通信。 总之,Flex作为一种强大的富客户端开发技术,拥有丰富的功能和良好的生态系统...
通过上述步骤,您已经掌握了如何在Flex项目中配置和使用IFrame组件来嵌入JS页面,并实现Flex与JS页面之间的交互。这不仅可以提高开发效率,还能帮助开发者构建更加丰富和动态的应用界面。希望本文能对您的项目开发...
FlexModule_j2ee的核心是将Flex组件与JSP页面集成,通过这个.jar文件,开发者可以在JSP中引入Flex标签,如`<flex:mx:Application>`等,这些标签能够直接在JSP页面中嵌入Flex组件,使得Flex的应用能够在JSP环境中无缝...
在本文中,我们将深入探讨如何在Flex应用中嵌入HTML页面,以及如何实现Flex与HTML之间的交互。 在Flex中嵌入HTML代码有两种常见方法: 1. 使用Flex文本组件(如Label、Text或TextArea)的`htmlText`属性。这个属性...
这个项目旨在展示如何在传统的Web应用中嵌入富互联网应用程序(Rich Internet Application,RIA)的Flex界面,从而提供更加动态和交互式的用户体验。 Flex是一种用于创建RIA的开源框架,由Adobe公司开发,主要使用...