天天看点

其他元素被 Flash 遮挡

一般情况下,页面中会用 OBJECT 与 EMBED 元素来显示一个 FLASH 动画。大致代码如下:

<object type="application/x-shockwave-flash" data="clock.swf">
  <param value="clock.swf" name="movie"/>
  <param value="wmode" name="window"/>
</object>
           

<embed align="middle" width="500" height="400" wmode="transparent" type="application/x-shockwave-flash" flashvars="auto=0" allowfullscreen="true" allowscriptaccess="always" quality="high" src="http://v.ku6vms.com/phpvms/player/html/vid/6UFtVgifw79R3XzK/style/pwuW02hkrWw./" id="player1" style="background:#333; position:relative; z-index:1;"></embed>
           

OBJECT 元素内 PARAM 元素负责为 Flash 动画设置相应参数,其中 wmode 参数较为重要,它决定了 Flash 的渲染方式。

Adobe 公司的 Flash 开发者文档中有关于 wmode 参数值的详细说明: Support for WMODE

当 wmode = "transparent" 或 "opaque" 时,Flash 动画交由页面渲染引擎负责渲染,此时它在定位流中的位置由 CSS 中的 'z-index' 特性控制。

如果 wmode 没有设置,他的默认值是 window,这代表 Flash 动画将在 window 窗口级别渲染,相应元素拥有系统级的窗口句柄,它所在定位流中的 'z-index' 特性将失效,而会处于所有未拥有窗口句柄特性的页面元素之上,此时用来控制定位流中 Z 轴方向中上下层位置的 'z-index' 特性将会失效。

来源:http://www.w3help.org/zh-cn/causes/RX8012

解决方案

  • 1.使用 EMBED 引入Flash 。
  • 2.wmode的值使用 'transparent' 或 'opaque' 。