当前位置: 首页 > news >正文

网页中flash wmode属性

大家在做flex应用时有没有碰到移动滚动条时,页面控件显示刷新迟钝,导致页面都是控件的残影,多了就像花屏,特别是用一些复杂的布局。这个问题困扰了我快半个月,一直没找到问题的根源。今天无意中发现,其实这问题出在我们flex 应用的wrapper template上了

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> <param name="movie" value="main.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#869ca7" /> <param name="allowScriptAccess" value="sameDomain" /> <embed src="main.swf" mce_src="main.swf" quality="high" bgcolor="#869ca7" width="100%" height="100%" name="main" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed>

以上是正常的代码,但当你在embed中多设置了wmode为Opaque或Transparant时,就会出现花屏的现象。

先说下wmode的作用

在flash标签中

<param name=”wmode" value="xxxx">

"Window" 在 Web 页上用影片自己的矩形窗口来播放应用程序,并且始终位于最顶层。

"Opaque" 显示页面上位于它后面的内容。

"Transparent"使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。

 

具体说就是

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”会导致全屏模式失效。

 

从上面大家可以看到默认的window模式效率是最高的,用opaque和Transparant会花屏,因为html和flash同步效率是很低的。但在使用google flex iframe时为了解决游览器的缩放问题时,一定要用opaque或Transparant时html和flash同步,不然缩放会有问题,真是矛盾的问题啊。看样子还是少用wmode,大家不要在flash中嵌入html,或者大家用HTML5,虽然HTML5还没成熟,但我感觉将是未来的趋势,找时间我也要把玩把玩。

转载于:https://www.cnblogs.com/muyuge/archive/2010/03/01/6152610.html

相关文章:

  • 用epoll实现异步的Echo服务器
  • HP主板案
  • 【会议】2009-11-14
  • php 地址引用
  • 《软件设计精要与模式》第二版推荐序四
  • Flash/Flex学习笔记(14):制作涂鸦板
  • repeater 当前行号
  • js几个验证函数
  • 在做JAVA和UCENTER整合登陆时一个要注意的问题
  • 自定义SiteMapProvider实现动态加载SITEMAP
  • linux操作: 快捷键记录
  • [转] Silverlight Navigation(多页面切换、传值) 之 一
  • jQuery 表格工具集
  • 信息化建设的常识
  • VS2010下载,vs2010正式版下载
  • [PHP内核探索]PHP中的哈希表
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 2019年如何成为全栈工程师?
  • android 一些 utils
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Java|序列化异常StreamCorruptedException的解决方法
  • js数组之filter
  • linux安装openssl、swoole等扩展的具体步骤
  • mac修复ab及siege安装
  • PV统计优化设计
  • python 装饰器(一)
  • SpriteKit 技巧之添加背景图片
  • unity如何实现一个固定宽度的orthagraphic相机
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 大主子表关联的性能优化方法
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 分类模型——Logistics Regression
  • 将 Measurements 和 Units 应用到物理学
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 学习ES6 变量的解构赋值
  • 智能网联汽车信息安全
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • "无招胜有招"nbsp;史上最全的互…
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT(智能家居界面-界面切换)
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转) ns2/nam与nam实现相关的文件
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .Net Web项目创建比较不错的参考文章
  • .NET 依赖注入和配置系统
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [ 第一章] JavaScript 简史