一般情況下,頁面中會用 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' 。