在做web开发中可能会遇到flash遮挡页面中元素的情况,无论怎么设置flash容器和层的深度(z-index)也无济于事,现有的解决方案是在插入flash的embed或object标签中加入”wmode”属性并设置为wmode=“transparent”或”opaque”,但wmode属性到底是什么意义,为什么可以解决这个问题呢?

window mode(wmode)

wmode即窗口模式总共有三种,看看当年Macromedia官方的说法:

window 模式

默认情况下的显示模式,在这种模式下flash player有自己的窗口句柄,这就意味着flash影片是存在于Windows中的一个显示实例,并且是在浏览器核心显示窗口之上的,所以flash只是貌似显示在浏览器中,但这也是flash最快最有效率的渲染模式。由于他是独立于浏览器的HTML渲染表面,这就导致默认显示方式下flash总是会遮住位置与他重合的所有DHTML层。

但是大多数苹果电脑浏览器会允许DHTML层显示在flash之上,但当flash影片播放时会出现比较诡异的现象,比如DHTML层像被flash刮掉一块一样显示异常。

Opaque 模式

这是一种无窗口模式,在这种情况下flash player没有自己的窗口句柄,这就需要浏览器需要告诉flash player在浏览器的渲染表面绘制的时间和位置。这时flash影片就不会在高于浏览器HTML渲染表面而是与其他元素一样在同一个页面上,因此你就可以使用z-index值来控制DHTML元素是遮盖flash或者被遮盖。

Transparent 模式

透明模式,在这种模式下flash player会将stage的背景色alpha值将为0并且只会绘制stage上真实可见的对象,同样你也可以使用z-index来控制flash影片的深度值,但是与Opaque模式不同的是这样做会降低flash影片的回放效果,而且在9.0.115之前的flash player版本设置wmode=”opaque”或”transparent”会导致全屏模式失效。

了解了各种模式的实现方式和意义在以后的开发中就可以按照具体情况选择设置wmode属性的值了。

wmode解决flash透明及层深问题相关推荐

  1. html flash层级,解决FLASH遮住其他层元素问题

    刚做了个幻灯片广告,产品人员需要在第一个位置放flash,然后其他的都是图片,但是幻灯片切换到第一张的时候,圆圈tab元素不见了,只有在谷歌浏览器下面正常,用firebug看是被flash盖住了,,用 ...

  2. flash透明\flash置底无效\flash遮挡div的解决方法 兼容Firefox ,IE,chrome浏览器

    flash透明无效 \ flash置底无效 \ flash遮挡div 的解决方法 兼容Firefox ,IE,chrome浏览器 flash透明  flash置底  lash遮挡div 基本思路为: ...

  3. 解决Flash挡住层用z-index无效的问题

    解决Flash挡住层用z-index无效的问题 参考文章: (1)解决Flash挡住层用z-index无效的问题 (2)https://www.cnblogs.com/snowhite/p/56468 ...

  4. 解决applet覆盖遮罩层div的问题

    解决applet覆盖遮罩层div的问题 当我们想用一个遮罩层div将整个页面罩住的时候,如果页面上使用了flash或者applet.那么applet会默认覆盖在div上面,无论我们在div上做什么手脚 ...

  5. DIV在FLASH上面、FLASH透明背景

    DIV在FLASH上面.FLASH透明背景 DIV在FLASH上面 1.在Flash加入:<param name="wmode" value="opaque&quo ...

  6. 如何在html页面中插入flash透明背景

    可以在HTML中建立两个DIV,一个存放背景图片,一个用来存放flash,flash透明在背景图片上~ "原理主要是在网页中的Flash加入一个参数,让网页设定Flash文件背景透明,Fla ...

  7. Chrome 解决flash问题

    Chrome 解决flash问题 参考文章: (1)Chrome 解决flash问题 (2)https://www.cnblogs.com/zqifa/p/flash-1.html (3)https: ...

  8. 关闭 Adobe Flash 沙箱(保护模式)解决Flash崩溃及卡顿问题

    关闭 Adobe Flash 沙箱(保护模式)解决Flash崩溃及卡顿问题 http://mozilla.com.cn/thread-34109-1-1.html 转载于:https://www.cn ...

  9. Vivaldi解决flash插件问题

    Vivaldi解决flash插件问题 参考文章: (1)Vivaldi解决flash插件问题 (2)https://www.cnblogs.com/sonnet/p/10354588.html 备忘一 ...

最新文章

  1. 【55】让自己熟悉Boost
  2. android图像处理(3)底片效果
  3. ConcurrentHashMap 和 Hashtable 的区别
  4. java 乐观锁 实例_JAVA乐观锁实现-CAS(示例代码)
  5. 软件测试工程师笔试试题
  6. Perl sendmail
  7. ATM柜员机JAVA课程设计_ATM柜员机学年论文设计(Java课程设计)
  8. springboot filter_SpringBoot(二) :web综合开发
  9. NSURLSession访问HTTPS网站
  10. Mac 上 QuickTime Player 播放器以 1.1、1.2 倍速等更精确速度快进/快退播放的方法
  11. 金堂五月花计算机学校招聘,2019年成都市金堂五月花学校招生简介
  12. 30岁的问题,为什么有人说程序员只能干到30岁。
  13. 如何抓包分析BLE 空口报文(GAP + GATT + LESC procedure)?
  14. 区块链学习之Web3j入门(一)
  15. 转载《士兵突击》观后杂感
  16. arcgis地图加载离线地图
  17. cmos和ccd区别对比
  18. oracle的各版本的名称
  19. 生物冰箱智能锁——智慧城市血液网的好帮手
  20. 十个最好的免费杀毒软件下载

热门文章

  1. 前端学习(2455):layout处理
  2. 前端学习(2341):jsx的本质
  3. 前端学习(1031):jquery多库共存
  4. 前端学习(172):格式化文本
  5. java学习(38):数组排序(直接排序)
  6. 华为IoT平台NB编解码插件开发详细教程【上篇】
  7. 华农计算机学院院长,华农大生命科学技术学院副院长到武生院任职
  8. [机器学习笔记]Note6--神经网络:表达
  9. mysql临时关闭索引功能_MYSQL中常用的强制性操作(例如强制索引)
  10. 利用vue v-bind属性绑定bootstrap样式以及输出数据