flash wmode="window&qu…
引用一段话:opaque和tranparent由于都是无窗口内渲染模式,能很好的实现各层的遮挡,和一般div元素没有太大区别,而window、direct模式在现在看来,是没有任何办法实现被DHTML元素完美遮挡的,其中一个比较折中的方法就是使用iframe。方法就是为要覆盖在flash元素上的div层准备一个空的iframe,当需要展现这个div时,将iframe移到flash元素的上方,并将大小、位置调整为div的大小和位置,然后通过设置position和z-index让div覆盖在iframe的上方,目前看到优酷、迅雷看看、乐视的播放页对顶部的导航栏有做这样的处理。其原理就是利用iframe在展现的时候(当页面滚动和其他操作时,会导致flash元素重新覆盖iframe
@_@)可以覆盖在flash元素上。
原文:http://www.cnblogs.com/_franky/archive/2010/11/19/1882055.html
flash
wmode="window" 时的遮挡问题.
在本文开始前 ,
我先引入,摸同学的文档. 来说明一些问题.然后我在此基础上,会做一些扩展说明.
现在有一个很大滴 flash 在页面上,且wmode 必须为window的前提下...如何使我们的一些元素不被
flash遮挡的呢?
希望可以起到抛砖引玉的作用吧.
放入元素中.(应该是该元素直系子节点.)其中 width height 为元素宽高.
重要属性z-index:-1.是我们的救星.
..否则ie下很郁闷.
无效.
无效.
及 4.0 beta : 无效.
position : fixed 以外的值. 无效.
(即必须当节点的position:fixed时,才ok )
beta 我们已经无需借助iframe来修复.只需要给元素简单设置一个background
非 transparent 的值即可.
是一个image 那么,如果image 有透明部分,则任然会有问题.
及 4.0 beta : 当使用background 修正时,如果这个修正仅针对元素内部的表格元素的
空td 则无效.(解决办法给td : display:block,或想办法
让td具备一个有效的宽高).
3.5 及之前版本,首先我建议放弃修复,
如果非要修复.则只好使用position:fixed,再配合中间的iframe,然后通过一系列js
修补其行为.让他看起来是正常的.
在flash与当前窗口上其他元素 切换焦点时, 元素会被flash遮挡.
position:fixed时,滚动条滚动后.元素会被flash遮挡.
2.1及之前的版本,webkit内核下: 当元素位置发生改变时.
会保留一个残影.(残影数一般只有一个,由于中间的iframe造成)
Tree 全局 Reflow 修复. 除了QQ
border = document.body.style.border ;
document.body.style.border
= border == 'solid 1px #000' ?
'solid 2px #000' : 'solid 1px
#000' ;
//强制浏览器flush当前的ui update 队列.
document.body.style.border
= border; //恢复border 原始值.
属性和值是随意的.只要你能引起全局的reflow 并且视觉上无影响.如何做都是可以的.. 比如ie下
可以用.body.style.zoom.
,就可以直接造成reflow... 读取body.offsetWidth.可以绕过.浏览器对ui
update 队列的优化.
原始的boreder 很可能 影响reflow的 borderWidth 受css样式影响,
即原来就是1px,那么上面的代码,很可能只会触发repaint,而不是我们期望的reflow. 具体情境
需要大家根据实际情况来做了.
webkit 内核下: 当元素位置发生改变时,产生残影造成花屏的现象.
2.1及之前的版本,webkit内核下: 当元素所处
平面位置在flash外边时,而此时元素内部某子元素通过定位调整. 与flash
在平面上有交集时,交集部分会被flash遮盖.
DOM结构来解决.暂时也无甚好的方法.
chromium开源项目的 webkit内核的浏览器如:Chrome全系,maxthon3、搜狗高速浏览器、QQ5浏览器、360高速浏览器.下
元素.style.clip 时. 由于元素可视区域变化.而造成的 iframe
残留阴影问题(此阴影与flash下面的背景同色).
以避免此bug的出现.
采用绝对定位,其他flash也会受影响.
1.避免直接给flash(object、embed)设置绝对定位或fixed
等使其脱离布局流的做法.除非使其父节点使用绝对或fixed定位.
2.给flash元素设置 z-index: -1.
3.避免iframe遮罩层,使用z-index:-1方式.而采用动态计算表层div位置.跟随的方式.对flash进行遮罩.
以及使用比较新的chromium 开源项目所提供内核的浏览器 比如 360 高速浏览器 以及 等等
所谓高速浏览器的 国产山寨货们.
我仍然给出一个基于特性的检测方法:
win = window,
= !!+'\v1' && !win.XDomainRequest
&& !navigator.taintEnabled;
&& !!win.external && 'StartPageCall' in external
&& !('localdb' in external)){
版本小于2.2的 浏览器 需要的逻辑.
版权声明:本文为博主原创文章,未经博主允许不得转载。
flash wmode="window&qu…的更多相关文章
- Flash打开新窗口 被浏览器拦截问题 navigateToURL被拦截 真正试验结果
众所周知,打开新窗口以前经常被用作弹出广告用,而随着浏览器发展,现在估计除了ie6之外,基本都有广告拦截功能,最基本就是拦截这种非人为的弹出新窗口.我对js研究不深,我所了解就是,必须是用户操作的处理 ...
- Chrome内嵌 FlashPlayer(PPAPI)会被页面DHTML元素遮住的问题
flash的wmode为window,Chrome版本为29.0.1547.66 m,Flash PPAPI为11.8.800.97,Flash NPAPI为11,8,800,94. flash在正常 ...
- iframe标签flash遮盖页面元素问题——wmode参数
最近做项目过程中,遇到各种小问题,所以打算通过博客园来记录各问题的解决办法. 这篇的问题背景是这样子的:项目是用的AngularJS框架,在某个页面上用了wangEditor富文本编辑器插件(gith ...
- 基于Flash与window平台本地程序通信实现媒体流发布
0 Web场景下的媒体流发布可以采用Flash原生API实现,但是Flash H264视频压缩参数不可控.音频无法AAC编码,所以一般采用浏览器插件方式,但是浏览器插件有版本兼容问题.不稳定,所以可以 ...
- Html页面插入flash代码
转自:http://www.educity.cn/jianzhan/402117.html 转自:http://www.cnblogs.com/yxc_fj/articles/1390621.html ...
- Flash+fms视频录制在项目中的实际应用
Flash+fms视频录制在项目中的实际应用 前言:以下只是记录本人在项目中的应用,而flash+fms视频录制有多种实现方式,具体可根据实际情况而定! 1:古人云:工欲善其事,必先利其器,首先安装f ...
- 网页中插入FLASH(swf文件)的html代码
一.简单插入flash图像<embed src="你的flash地址.swf"width="300" height="220"> ...
- FusionCharts或其它flash的div图层总是浮在最上层的问题
div的图层由div的style中的z-index来决定,z-index是层垂直屏幕的坐标,0最小,越大的话位置越靠上. 由于FusionCharts的图表都放在div中,如果页面还有其他的div,将 ...
- FusionCharts或其它flash的div图层总是浮在最上层? (转)
div的图层由div的style中的z-index来决定,z-index是层垂直屏幕的坐标,0最小,越大的话位置越靠上. 由于FusionCharts的图表都放在div中,如果页面还有其他的div,将 ...
随机推荐
- 2016值得关注的语言平台、JS框架
语言和平台 Python 3.5 在今年发布了,带来了很多新特性 比如 Asyncio,,为你带来了类似 node.js 的事件机制,还有type hints. 鉴于Python 3 终于真正地火起来 ...
- Android学习之路——简易版微信为例(一)
这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...
- [POJ2348]Euclid's Game
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8313 Accepted: 3374 Description Two p ...
- Codevs 1222 信与信封问题 二分图匹配,匈牙利算法
题目: http://codevs.cn/problem/1222/ 1222 信与信封问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 ...
- git高级应用
高级应用之一: 二分法查找错误版本: 当前日志 $ git log --oneline ccda9d2 added test1 dd518f7 test zu 88095f9 dasfdasf 3 ...
- Weka 入门2
现在我们介绍使用Weka来对数据进行分类.对数据进行分类,我们必须先指定那一列作为预测类别.因为数据文件格式的问题,类别一般都是最后一列属性.我们可以使用setClassIndex来设置类别.然后我们 ...
- RIA算法解决最小覆盖圆问题
一.概念引入 最小包围圆问题:对于给定的平面上甩个点所组成的一个集合P,求出P的最小包围圆,即包含P中所有点.半径最小的那个圆.也就是求出这个最小 包围圆的圆心位置和半径. ...
- Android camera采集视频 X264编码
参考 http://blog.csdn.net/zblue78/article/details/6058147 感谢 ExperiencesOfCode 硬件平台:CPU Intel G630 @2. ...
- 15个易遗忘的Java问题
通常,在面试中,会遇到面试官提一些比较“偏冷”的基础知识,比如基本数据类型所占用的字节数,或者Unicode和UTF-8的区别之类的问题,这时很多应聘者会答错.还有在平常编码的过程中,很多时候会用到除 ...
- web api中post参数时只能一个
在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流. 举例子说明: /?id=123&name=bob void Action(int id, st ...