对网页上的嵌入式对象使用wmode =“ transparent”,“ opaque”或“ window”之间的区别


74

当使用<object><embed>标记嵌入Flash对象时,有一个称为的属性wmode。似乎大多数情况下,wmode="transparent"这与wmode="opaque"Flash实际上没有任何透明颜色相同,以便显示底部HTML元素一样。因此,opaque应该比更快,transparent因为它需要较少的处理透明性,但是大多数情况下,我看到Flash对象嵌入了transparent而不是opaque

opaque 是必需的,以便其他HTML元素不会被Flash对象覆盖(例如,弹出一个额外子菜单的菜单项不会被Flash对象覆盖)。

顺便说一句,有没有正式文件wmodeopaquetransparentwindow?我只能找到描述它的博客,但找不到正式文档。谢谢。


感谢您的解释,需要wmode =“ opaque”,以便其他HTML元素不会被掩盖。嵌入youtube视频使我为此感到疯狂。YouTube的默认嵌入代码不包含wmode,并且即使其他div具有更高的z-index值,它也会与其他div重叠。谢谢。
raddevus 2011年

Answers:


35

这是有关Flash 9 wmode设置不同的一些Adobe文档

adobe bug跟踪中,有关于wmode透明的注意事项。

Flash 10的新增功能是两个新的wmode:gpu和direct。请参考有关wmode的Adobe知识库


6
很好,这是doc的引文:wmode-可能的值:window,opaque,transparent。设置Flash影片的“窗口模式”属性,以在浏览器中进行透明度,分层和定位。窗口-电影在网页上的矩形窗口中播放。不透明-电影将所有内容隐藏在其后面的页面上。透明-HTML页面的背景在影片的所有透明部分中显示,这可能会降低动画性能。
极性

20

不透明将减少系统负担,因为“透明”仍将尝试应用alpha。之所以看到透明的原因是因为大多数Web作者并不关注细节(即,仅复制粘贴了他们发现的一些嵌入代码)。

顺便说一句,您对它没有记录是正确的。我见过的最好的是一个自称与Macromedia开发人员交谈过的人的博客。不幸的是我找不到链接。

编辑:我认为这是一个:http : //www.communitymx.com/content/article.cfm?cid=e5141


7

同样,通过wmode=opaqueIE和Flash,Flash会获取键盘事件,而html页面也会接收到键盘事件,因此它不能用于嵌入Flash游戏之类的操作。很烦人


1
这不能回答问题。
卡帕

3
@bazmegakapa:这怎么不回答问题?这是一个非常重要的行为差异(我在一个非常重要的游戏网站上遭受了它的折磨,使它无法使用:()和记录
得不好的dif。– MegaTux

4
OP要求提供有关这些论点的资源。在我看来,您的回答将做出很好而重要的评论。
卡帕

无论这是一个问题还是答案,这都非常有帮助。谢谢!
jmq,2016年


2

一件奇怪的事情是,在Chrome + Firefox中,并没有为OPAQUE和调度MOUSE_LEAVE事件TRANSPARENT

WINDOW它工作正常。那个花了一些时间才发现!......

(注意:jediericb提到了此错误-类似,但未提及MOUSE_LEAVE

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.