如何讓Flash不遮擋HTML div元素的技巧

字號:


    今天在寫一個flash廣告代碼的時候,因為flash自帶的鏈接,容易被當成彈出廣告,所以做了一個div層放到flash上面,這樣鏈接都是a觸發(fā)的不會被攔截,但發(fā)現(xiàn)flash一直處于div層上面,原來flash需要加個參數(shù)才可以。
    讓flash置于DIV層之下的方法,讓flash不擋住飄浮層或下拉菜單,讓Flash不檔住浮動對象或?qū)拥年P(guān)鍵參數(shù):wmode=opaque。
    方法如下:
    針對IE 在<object></object>內(nèi)加上參數(shù)<param name="wmode" value="opaque" />
    針對FF 在<embed />內(nèi)加上參數(shù)wmode="opaque"
    腳本之家使用代碼:
    XML/HTML Code復(fù)制內(nèi)容到剪貼板
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <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="" width="300" height="250">');
    document.write('<param name="movie" value="" />');
    document.write('<param name="quality" value="high" /><param name="wmode" value="opaque" />');
    document.write('<embed src="" quality="high" pluginspage="" type="application/x-shockwave-flash" width="300" height="250" wmode="opaque"></embed>');
    document.write('</object>');
    </script>
    </div>
    <div id="div2">
    <a href="" target="_blank"><img src="" width="300" height="250"/></a>
    </div>
    </div>
    </body>
    </html>
    標準的的Flash插入
    XML/HTML Code復(fù)制內(nèi)容到剪貼板
    <!-- 標準的的Flash插入
    設(shè)置高度與寬度:
    width="400" height="400"
    設(shè)置路徑:
    data="style/flash/001.swf" 與 value="style/flash/001.swf"
    替代文本或替代圖片:
    <a href=""><img src="" /></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" /></a>
    </object>
    不會遮住層的Flash
    XML/HTML Code復(fù)制內(nèi)容到剪貼板
    <!-- 不會遮住層的Flash
    讓Flash不檔住浮動對象或?qū)拥年P(guān)鍵屬性:
    <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" /></a>
    </object>
    透明的Flash
    XML/HTML Code復(fù)制內(nèi)容到剪貼板
    <!-- 透明的Flash
    讓Flash透明的關(guān)鍵屬性:
    <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" /></a>
    </object>
    wmode 屬性/參數(shù)值 Window | Opaque | Transparent
    模板變量:$WM,(可選)允許使用 Internet Explorer 4.0 中的透明 Flash 內(nèi)容、絕對定位和分層顯示功能。此標記/屬性僅在帶有 Flash Player ActiveX 控件的 Windows 中有效。
    "Window"在 Web 頁上用影片自己的矩形窗口來播放應(yīng)用程序。"Window"表明此 Flash 應(yīng)用程序與 HTML 層沒有任何交互,并且始終位于最頂層。
    "Opaque" 使應(yīng)用程序隱藏頁面上位于它后面的所有內(nèi)容。
    "Transparent"使 HTML 頁的背景可以透過應(yīng)用程序的所有透明部分顯示出來,并且可能會降低動畫性能。
    "Opaque windowless"和"Transparent windowless"都可與 HTML 層交互,從而允許 SWF 文件上方的層遮蔽應(yīng)用程序。這兩種選項之間的差異在于"Transparent"允許透明,因此,如果 SWF 文件的某一部分是透明的,則 SWF 文件下方的 HTML 層可以透過該部分顯示出來,而"opaque"則不會顯示。