5

对象标签和 iframe 标签中的 Wmode。

有很多关于使导航在 Flash 页面等中正常工作的讨论。

- 有人请详细解释一下属性的实际作用。接受任何级别的技术细节。

谢谢

4

1 回答 1

14

wmode<embed>是引用 Flash 电影的标签独有的参数。默认值为wmode=window

wmode=window

当 时wmode=window,Flash 影片不会在页面中呈现。相反,它显示在与浏览器内容不同的窗口中(使用 Spy++ 或WinSpy++检查)。此模式将具有最佳性能,因为浏览器不必在每一帧上重绘页面的一部分。但是,此模式会阻止您让内容出现在 Flash 影片的上方或下方。

  • 最棒的表演
  • 在单独的窗口中呈现
  • 不透明背景
  • 不允许以下内容
  • 不允许上面的内容

wmode=opaque

当 时wmode=opaque,Flash 影片呈现为页面的一部分。没有为电影创建窗口。影片将使用发布过程中设置的背景颜色进行渲染,后面不允许有任何内容。在每一帧上,出现在影片上方的内容都必须由浏览器重新绘制,从而影响性能。

  • 很好的表现
  • 作为页面的一部分呈现
  • 不透明背景
  • 不允许以下内容
  • 允许以上内容

wmode=transparent

当 时wmode=transparent,Flash 影片呈现为页面的一部分。没有为电影创建窗口。影片的背景颜色将是透明的。因此,电影的任何非透明部分都将允许显示底层内容。在每一帧上,出现在影片上方和下方的内容都必须由浏览器重新绘制,从而极大地影响性能。

  • 公平的表现
  • 作为页面的一部分呈现
  • 透明背景
  • 允许以下内容
  • 允许以上内容

编辑:以下是您的其他问题的答案...

wmodeFLASH 唯一的属性吗?
是的,wmode仅在<embed>嵌入 Flash 影片的标签中可用。

不同值之间对性能有何影响?
wmode=window将具有最佳性能,因为 Flash 电影与页面本身完全分开呈现。浏览器不需要刷新也不需要计算出现在 Flash 电影上的内容的 z-index 位置,因为在这种模式下的 Flash 电影是在一个完全独立的窗口中呈现的(可以使用 Spy++ 进行检查)。

wmode=opaque并且mode=transparent都遵循非常相似的渲染路径。然而,它们的速度比wmode=window因为浏览器必须检查元素以查看它们是否在电影之上渲染并在每一帧上渲染它们。请注意,这wmode=transparentwmode=opaque渲染底层内容和叠加内容要慢。

所以,按性能排序...

FASTEST ----------------------------- SLOWEST

WINDOW             OPAQUE         TRANSPARENT
于 2011-06-23T01:31:53.450 回答