彈出層被flash遮蓋

2022-07-26 19:33:11 字數 1161 閱讀 6056

這兩天搞了乙個彈出層的小程式,可測試的時候發現總是被網頁中的flash覆蓋。原以為是深度或位置設的不對,網上一查原來是flash的設定問題。

下面是我找到的解決方案:

在做web開發中可能會遇到flash遮擋頁面中元素的情況,無論怎麼設定flash容器和層的深度(z-index)也無濟於事,現有的解決方案是在插入 flash的embed或object標籤中加入」wmode」屬性並設定為wmode=「transparent」或」opaque」,但wmode屬

性到底是什麼意義,為什麼可以解決這個問題呢?

window mode(wmode)

wmode即視窗模式總共有三種,看看當年macromedia官方的說法:

window 模式

預設情況下的顯示模式,在這種模式下flash

player有自己的視窗控制代碼,這就意味著flash影片是存在於windows中的乙個顯示例項,並且是在瀏覽器核心顯示視窗之上的,所以flash只

是貌似顯示在瀏覽器中,但這也是flash最快最有效率的渲染模式。由於他是獨立於瀏覽器的html渲染表面,這就導致預設顯示方式下flash總是會遮

住位置與他重合的所有dhtml層。

opaque 模式

這是一種無視窗模式,在這種情況下flash

player沒有自己的視窗控制代碼,這就需要瀏覽器需要告訴flash

player在瀏覽器的渲染表面繪製的時間和位置。這時flash影片就不會在高於瀏覽器html渲染表面而是與其他元素一樣在同乙個頁面上,因此你就可以使用z-index值來控制dhtml元素是遮蓋flash或者被遮蓋。

transparent 模式

透明模式,在這種模式下flash

player會將stage的背景色alpha值將為0並且只會繪製stage上真實可見的物件,同樣你也可以使用z-index來控制flash影片的深度值,但是與opaque模式不同的是這樣做會降低flash影片的回放效果,而且在9.0.115之前的flash

player版本設定wmode=」opaque」或」transparent」會導致全屏模式失效。

了解了各種模式的實現方式和意義在以後的開發中就可以按照具體情況選擇設定wmode屬性的值了。

DIV層被flash層遮蓋問題解決思路

ie瀏覽器下可用 param name wmode value transparent firefox下可用 embed src yourflash.swf wmode transparent embed 關於wmode屬性資料 可選 允許使用 internet explorer 4.0 中的透明 ...

如何解決div層被flash遮蓋的問題

對於flash遮擋的問題,首先來了解一些wmode的一些屬性值。預設情況下的顯示模式,在這種模式下 flash player 有自己的視窗控制代碼,這就意味著 flash 影片是存在於 windows 中的乙個顯示例項,並且是在瀏覽器核心顯示視窗之上的,所以 flash 只是貌似顯示在瀏覽器中,但這...

Div層被嵌入的Flash層遮蓋問題解決思路

ie瀏覽器下可用 firefox下可用 關於wmode屬性資料 可選 允許使用 internet explorer 4.0 中的透明 flash 內容 絕對定位和分層顯示功能。此標記 屬性僅在帶有 flash player activex 控制項的 windows 中有效。window opaque...