[Flex] IFrame系列 —— IFrame嵌入html后Alert弹出窗口被IFrame遮挡问题
<?xml version="1.0" encoding="utf-8"?>
<!--- - - - - - - - - - - - - - - - - - - - - - - - -
* @author:Frost.Yen
* @E-mail:871979853@qq.com
* @create: 2016-6-1 上午11:37:00
- - - - - - - - - - - - - - - - - - - - - - - - - - -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" backgroundAlpha="0" xmlns:ns="http://code.google.com/p/flex-iframe/">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
protected function showIFrameHandler(event:MouseEvent):void
{
layer(1);
} protected function btn_clickHandler(event:MouseEvent):void
{
layer(-1);
Alert.show("test iframe alert !");
} /**
* 设置IFrame的层级
* @param index (1表示最上层,-1表示最下层)
*/
protected function layer(index:int):void
{
ExternalInterface.call("eval", "(function(){document.getElementById('iframe00').style.zIndex='"+index+"';})()");
}
]]>
</fx:Script> <fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button id="btn" label="click me" click="btn_clickHandler(event)"/>
<s:Panel id="panel" title="flex嵌入html页面" width="80%" height="80%" backgroundAlpha="0" mouseOver="showIFrameHandler(event)">
<ns:IFrame id="iframe0" width="100%" height="100%" source="http://www.yanzimen.com">
</ns:IFrame>
</s:Panel>
</s:Application>
普遍认为,iframe是动态显示导致iframe始终在最高层,遮挡住弹出框,解决此问题要注意以下几点:
1、当需要显示弹出框时,将iframe置于最底层,即zIndex设为-1,当不需要显示弹出框时,可将iframe至于顶层,即zIndex设为1;
2、必须将每个组件的backgroundAlpha属性值设为0,因为Iframe会被Flex编译出来的swf所覆盖,所以需要把Flex的背景设置为透明,才能显示出来;
3、需要在index.template.html中添加 params.wmode = "transparent";字段,此项防止点击flex组件时,iframe消失的问题。
4、document.getElementById('iframe00').style.zIndex中的iframe00是flex标签中IFrame 的id+"0"的组合,在google的源代码中会给这个Id加上一个序列,这个iframe00也就是显示出来的iframe的div的ID。
[Flex] IFrame系列 —— IFrame嵌入html后Alert弹出窗口被IFrame遮挡问题的更多相关文章
- 20160513--js 弹出窗口带有iframe控件 备忘
		
需要引用JQuery. /*! * 主 题:<页面弹出窗口> * 说 明:用于页面弹出的窗口. * 功能描述: * 1.生成弹出窗口,窗口内包括iframe控件: * 2.窗口弹出时,生成 ...
 - easyui弹出窗关闭前调用确认窗口,先关闭页面后调用弹出窗口
		
弹出窗关闭的时候提示是否关闭,同时进行一些对应的方法调用, 然而在进行页面关闭调用的时候,往往页面关闭了,才弹出确认对话框, $.messager.confirm和panel的onBeforeClos ...
 - alert弹出窗口,点击确认后关闭页面
		
alert("点击确认后,关闭页面"); window.opener=null;window.top.open('','_self','');window.close(this);
 - 关于js中alert弹出窗口换行!
		
请用"\n" 如果这个不可以的话就是"\\n" 比如: <script type="text/javascript"> al ...
 - 怎么使用response.write来做一个javascript的alert弹出窗口
		
Page.RegisterStartupScript("alert", "<script language=javascript>alert('添加成功'); ...
 - selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理
		
一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...
 - 弹出窗口内嵌iframe 框口自适应
		
说一下,弹出窗口还有内嵌一个iframe 这种模式应该是不科学的,但是公司项目里面就偏偏用到了,它这高低还不能只适应,所以我痛苦的日子来了 分析一下: 首先window.showDialog 方法的时 ...
 - jquery3和layui冲突导,致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
		
项目中使用的jquery版本是jquery-3.2.1,在使用layui弹出全屏iframe窗口时,iframe窗口顶部总是出现一个152px高的滚动窗口无法实现真正全屏,代码如下: <!DOC ...
 - Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素
		
一.操作弹出窗口 原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然 ...
 
随机推荐
- MySQL分库分表环境下全局ID生成方案 转
			
在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作.在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象.但是当我们对数据库进行了分库 ...
 - java生成随机字符串uuid
			
GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...
 - Hadoop常见错误解决
			
1. 通过命令和查看日志文件查看hadoop启动和运行情况 在NameNode端,可以通过 tail -100 /var/log/hadoop/hadoop/hadoop-hadoop-namenod ...
 - HDP2.4安装(一):Centos7安装
			
在进入大数据领域来,一直使用微软的Azure HDInsight,当前在中国区仅支持在Windows系统上部署集群,虽然创建的过程很简单,但对于开发人员来说,就是一个黑盒子,在更深入的研究和开发扩展的 ...
 - Angular学习(6)- 数组双向梆定+filter+directive
			
示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 6< ...
 - VS2010提示error TRK0002: Failed to execute command解决方法
			
昨天windows8自动更新Microsoft .NET Framework 3.5和4.5.1安全更新程序,今天用VS2010编译时提示如下错误信息 TRACKER : error TRK0002: ...
 - Nginx负载均衡和反向代理设置
			
Nginx负载均衡: 格式: upstream 别名 { #别名一般要有意义,能看出是做什么的 server ip:端口; #要实现负载的服务器的ip.端口号} 例: upstream ...
 - .net下连接数据库
			
可以新建一个按钮,在click事件下,写入一下代码 using( SqlConnection conn=new SqlConnection(Data source=.; Catalog Initial ...
 - Tomcat的startup.bat一闪而过问题的解决
			
问题描述:点击Tomcat的startup.bat,一闪而过. 问题分析: 1.Tomcat的startup.bat--->catalina.bat--->setclasspath.bat ...
 - [tty与uart]UART中的硬件流控RTS与CTS
			
转自:http://blog.csdn.net/zeroboundary/article/details/8966586 在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES ) ...