網頁中插入FLASH(swf文件),並且讓Flash不遮擋HTML元素


一:網頁中插入flash代碼如下:

 當然里面的很多屬性可以去掉,根據具體的需求而定。
 我們在網頁中經常遇到播放flash,要正常播放flash就要用到OBJECT和EMBED這兩個標簽。鑒於火狐及IE等不同瀏覽器廠商的不兼容性。播放flash也不相同。
  OBJECT標簽:用於windows平台的IE瀏覽器,利用Activex控件來播放flash。
 EMBED標簽:用於windows和Macintosh平台下的NetscapeNavigator瀏覽器,使用Netscape插件技術來播放flash。
 
為了兼容各瀏覽器我們通常這樣寫,如例:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%"
    codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
    <param name="movie" value="flash/flash1.swf">
    <param name="quality" value="high">
    <param name="bgcolor" value="#F0F0F0">
    <param name="menu" value="false">
    <param name="wmode" value="opaque"><!--Window|Opaque|Transparent-->
    <param name="FlashVars" value="">
    <param name="allowScriptAccess" value="sameDomain">
    <embed id="forfunex" src="flash/flash1.swf"
        width="100%"
        height="100%"
        align="middle"
        quality="high"
        bgcolor="#f0fff8"
        menu="false"
        play="true"
        loop="false"
        FlashVars=""
        allowScriptAccess="sameDomain"
        type="application/x-shockwave-flash"
        pluginspage="http://www.adobe.com/go/getflashplayer" wmode="opaque">
    </embed>
</object>
 

目的是IE瀏覽器用OBJECT而會忽略EMBED標簽的內容。而火狐等瀏覽器用EMBED忽略OBJECT等標簽內容

 

二:讓Flash不遮擋HTML元素

讓flash置於DIV層之下的方法,讓flash不擋住飄浮層或下拉菜單,讓Flash不檔住浮動對象或層的關鍵參數:wmode=opaque。

方法如下:

針對IE 在<object></object>內加上參數<param name="wmode" value="opaque" />

針對FF 在<embed />內加上參數wmode="opaque"

 

其中如果要透明的Flash

讓Flash透明的關鍵屬性:
<param name="wmode" value="transparent">

 

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。