如何不讓flash把層遮蓋住

2021-09-02 07:06:54 字數 1273 閱讀 1865

預設情況下,flash影片是處於最上層的,無法將 置於其上。查閱flash的幫助檔案,發現這樣一段描述:

wmode 屬性/引數

值window | opaque | transparent

模板變數:$wm

說明(可選)使您可以使用 internet explorer 4.0 中的透明 flash 內容、絕對定位和分層顯示的功能。此標記/屬性僅在帶有 flash player activex 控制項的 windows 中有效。

「opaque」 使應用程式隱藏頁面上位於它後面的所有內容。

「transparent」使 html 頁的背景可以透過應用程式的所有透明部分進行顯示,這樣可能會降低動畫效能。

「opaque windowless」和「transparent windowless」 都可與 html 層互動,並允許 swf 檔案上方的層遮蔽應用程式。這兩種選項之間的差異在於「transparent」允許透明,因此,如果 swf 檔案的某一部分是透明的,則 swf 檔案下方的 html 層可以透過該部分顯示出來。

如果忽略此屬性,預設值為 window。僅適用於 object。

因此,在html中將 的wmode引數設成這樣:

然後將乙個html的 置於flash影片之上,測試成功。

但是,問題隨之出現。許多客人在聊天室中打字的時候發現,輸入法的選字框會跑到頁面的左上角,而且會影響網頁的排版,將flash影片擠到下面。有時甚至無法將文字輸入到flash中。為了還原錯誤,我使用了多款輸入法,發現微軟的所有輸入法都有這個問題。因為微軟輸入法在選字的時候都有乙個虛線選擇,我懷疑是這個虛線選擇功能出現問題所致。

可是,不能單單懷疑微軟輸入法的相容性不好。因為,同樣的程式,在昨天就沒有出現這個情況。和開發夥伴測試了其他輸入法,發現智慧型abc輸入法也存在這個問題,只是在我的計算機上沒有出現。

開始懷疑加入的 ,將其遮蔽,問題仍然存在。

繼續懷疑到wmode屬性的頭上。刪除 < param name=」wmode」 value=」opaque」 > 語句,問題消失。

仔細思考,因為「opaque」 使應用程式隱藏頁面上位於它後面的所有內容,也就是說使用了這個引數之後,在網頁中不是flash位於最上而是 

位於最上了,某些輸入法會將焦點設定為網頁中位於最上的物件(也就是 中)。而這個 又是使用絕對定位「漂浮」在網頁上的,這就造成了輸入法的選字框定位不準確,也就發生了剛才的問題了。 

從幫助檔案中看來,使用「opaque windowless」引數應該會好一些,不過,我們實在不願意再試

彈出層被flash遮蓋

這兩天搞了乙個彈出層的小程式,可測試的時候發現總是被網頁中的flash覆蓋。原以為是深度或位置設的不對,網上一查原來是flash的設定問題。下面是我找到的解決方案 在做web開發中可能會遇到flash遮擋頁面中元素的情況,無論怎麼設定flash容器和層的深度 z index 也無濟於事,現有的解決方...

如何不讓DataGridView自動生成列

如果不想讓datagridview自動生成與資料來源對應的列,只需要把屬性autogeneratecolumns設為false即可。需要注意 在介面設計的屬性視窗中是看不到autogeneratecolumns屬性的,需要在 中設定,比如在視窗的建構函式中設定 datagridview1.autog...

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

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