对于网页上的嵌入对象使用wmode =“transparent”,“opaque”或“window”之间的差异

时间:2009-05-20 08:40:46

标签: flash object embed wmode

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

需要

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

顺便提一下,wmode opaquetransparentwindow是否有正式文档?我只能找到描述它的博客,但不能找到正式的文档。感谢。

5 个答案:

答案 0 :(得分:34)

在不同的flash 9 wmode设置中,这是一些弱adobe documentation

关于wmode透明的注意事项在adobe bug trac

Flash 10的新功能是两个新的wmodes:gpu和direct。请参阅Adobe Knowledge Base about wmode

答案 1 :(得分:20)

不透明会减少系统压力,因为'透明'仍然会尝试应用alpha。你看到透明使用的原因是因为大多数网络作者都不注意细节(即,只是复制粘贴他们发现的一些嵌入代码)。

顺便说一下,你对它没有证件是正确的。我见过的最好的是一个博客,一个声称已经与Macromedia开发者讨论谈论的人。不幸的是我找不到链接。

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

答案 2 :(得分:7)

另外,使用wmode=opaque和IE,Flash获取键盘事件,但html页面也接收它们,所以它不能用于嵌入flash游戏之类的东西。非常讨厌

答案 3 :(得分:3)

关于它们对演示和性能的影响,Adobe KB中关于'wmode'以及其他属性的写得非常好。

http://kb2.adobe.com/cps/127/tn_12701.html

答案 4 :(得分:2)

奇怪的是,在Chrome + Firefox中,不会为OPAQUETRANSPARENT调度MOUSE_LEAVE事件。

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

(注意:jediericb提到了this bug - 这是相似但没有提及MOUSE_LEAVE