今天在寫一個flash廣告代碼的時候,因為flash自帶的鏈接,容易被當成彈出廣告,所以做了一個div層放到flash上面,這樣鏈接都是a觸發的不會被攔截,但發現flash一直處於div層上面,原來flash需要加個參數才可以。
讓flash置於DIV層之下的方法,讓flash不擋住飄浮層或下拉菜單,讓Flash不檔住浮動對象或層的關鍵參數:wmode=opaque。
方法如下:
針對IE 在<object></object>內加上參數<param name="wmode" value="opaque" />
針對FF 在<embed />內加上參數wmode="opaque"
腳本之家使用代碼:
XML/HTML Code復制內容到剪貼板
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title>22cn</title>
- <style type="text/css">
- <!--
- body {
- position:relative;
- z-index:0;
- margin:0; padding:0
- }
- body,td,th {
- color: #333333;
- }
- *{margin:0; padding:0}
- img{ border:0}
- #jb51{ position:relative; width:300px; height:250px}
- #div1 {
- position:absolute;
- left:0;
- top:0;
- width:300px;
- height:250px; z-index:-1
-
- }
- #div2 {
- position:absolute;
- left:0;
- top:0;
- width:300px;
- height:250px;
- z-index:99999;
- }
- -->
- </style></head>
- <body>
- <div id="jb51">
- <div id="div1">
- <script type="text/javascript">
- document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="300" height="250">');
- document.write('<param name="movie" value="http://common.jb51.net/image/22cn_jb51net.swf" />');
- document.write('<param name="quality" value="high" /><param name="wmode" value="opaque" />');
- document.write('<embed src="http://common.jb51.net/image/22cn_jb51net.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="250" wmode="opaque"></embed>');
- document.write('</object>');
- </script>
- </div>
- <div id="div2">
- <a href="http://i.am.cn/?s=jb51pic2" target="_blank"><img src="http://common.jb51.net/image/touming.png" width="300" height="250"/></a>
- </div>
- </div>
- </body>
- </html>
標准的的Flash插入
XML/HTML Code復制內容到剪貼板
- <!-- 標准的的Flash插入
- 設置高度與寬度:
- width="400" height="400"
- 設置路徑:
- data="style/flash/001.swf" 與 value="style/flash/001.swf"
- 替代文本或替代圖片:
- <a href="" title=""><img src="" alt="" /></a> 也可以不要這段
- -->
- <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">
- <param name="movie" value="style/flash/001.swf" />
- <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash動畫" /></a>
- </object>
不會遮住層的Flash
XML/HTML Code復制內容到剪貼板
- <!-- 不會遮住層的Flash
- 讓Flash不檔住浮動對象或層的關鍵屬性:
- <param name="wmode" value="opaque" />
- <embed wmode="opaque"></embed>
- -->
- <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">
- <param name="movie" value="style/flash/001.swf" />
- <param name="wmode" value="opaque" />
- <embed wmode="opaque"></embed>
- <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash動畫" /></a>
- </object>
透明的Flash
XML/HTML Code復制內容到剪貼板
- <!-- 透明的Flash
- 讓Flash透明的關鍵屬性:
- <param name="wmode" value="transparent">
- -->
- <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">
- <param name="movie" value="style/flash/001.swf" />
- <param name="wmode" value="transparent">
- <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash動畫" /></a>
- </object>
wmode 屬性/參數值 Window | Opaque | Transparent
模板變量:$WM,(可選)允許使用 Internet Explorer 4.0 中的透明 Flash 內容、絕對定位和分層顯示功能。此標記/屬性僅在帶有 Flash Player ActiveX 控件的 Windows 中有效。
"Window"在 Web 頁上用影片自己的矩形窗口來播放應用程序。"Window"表明此 Flash 應用程序與 HTML 層沒有任何交互,並且始終位於最頂層。
"Opaque" 使應用程序隱藏頁面上位於它後面的所有內容。
"Transparent"使 HTML 頁的背景可以透過應用程序的所有透明部分顯示出來,並且可能會降低動畫性能。
"Opaque windowless"和"Transparent windowless"都可與 HTML 層交互,從而允許 SWF 文件上方的層遮蔽應用程序。這兩種選項之間的差異在於"Transparent"允許透明,因此,如果 SWF 文件的某一部分是透明的,則 SWF 文件下方的 HTML 層可以透過該部分顯示出來,而"opaque"則不會顯示。
如果忽略此屬性,默認值為 Window。僅適用於 object。