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





object embed (6)


这里是一些关于不同flash 9 wmode设置的弱Adobe文档

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

而新的闪存10,是两个新的wmode:gpu和direct。 请参阅关于wmode的Adobe知识库

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

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

顺便问一下,有没有关于wmodeopaquetransparentwindow正式文档? 我只能找到描述它的博客,而不是正式的文档。 谢谢。







另外,在wmode=opaque和IE的情况下,Flash获得键盘事件,而且html页面也收到它们,所以它不能用于嵌入Flash游戏之类的东西。 很烦人




一件奇怪的事情是,在Chrome + Firefox中,MOUSE_LEAVE事件不会分派给OPAQUETRANSPARENT

WINDOW它工作正常。 那一个花了一些时间找出来! GRR ...

(注意:jediericb提到了这个错误 - 类似但没有提及MOUSE_LEAVE




不透明会导致较少的系统压力,因为'透明'仍然会尝试应用阿尔法。 你看到透明的原因是因为大多数web作者都不注意细节(即只复制粘贴他们找到的一些嵌入代码)。

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

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




通过点运算符,您可以访问键中的值,这些键不包含空格或特殊字符,从数字开始的单词(即那些不能用作变量名称的单词),否则您可以像关联数组中的键。

你可以使用你想要的所有键作为键,但记住键将是你输入的字符串表示。澄清 - 将被称为toString()。

看:

 var myObj = {};

 myObj[ 3 ] = "key is 3";
 alert( myObj[ "3" ] ); //alerts "key is 3" because (3).toString() is "3"
 //but an error will thrown  when accessing  by myObj.3

 myObj[ {} ] = "key is {}" 
 alert( myObj["[object Object]"] ) // alerts "key is {}" because ({}).toString() is "[object Object]"

您可以覆盖toString()方法,例如:

Object.prototype.toString = function(){ return "object"}

a = {};
a[ {} ] = "whatever";
alert( a["object"] ); // alerts "whatever" because as now toString() returns "object" from each created object






flash object embed wmode