最近在幫美和學生自治會製作設計網站,發現一個有趣的問題!
MeWorks 系統上可以插入外掛的 Youtube 影片,但仔細發現外掛的方式是使用 iframe 並崁入 Youtube 的編碼,這會讓原本的彈出選單被 iframe 與 Flash 給蓋住。
因此在網路上找尋相關解決辦法,發現有可能要使用 CSS 的 z-index 去解決。而在 MeWorks 系統中,彈出的次選單的 CSS Class 是「mwpopupmenu」,而外掛進去的影片所屬的 CSS Class 是「mwobject」。這下就可以用 CSS 去修改了!在版型中加入以下 CSS...
.mwpopupmenu{ position:absolute; z-index:2; }
.mwobject{ overflow:hidden; z-index:1; }
讓彈出選單的層級比 iframe 高!( z-index 的數字越大代表越上層 )
實驗證明~還是不行!!!!! (囧)
為什麼呢?經過奧大大的指點,這問題有可能出在 Youtube 影片的編碼上。原本的影片編碼如下:
<object width="320" height="265">
<param name="movie" value=http://www.youtube.com/v/qvLj0U5FXUM&hl=zh_TW&fs=1& />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<embed src="http://www.youtube.com/v/qvLj0U5FXUM&hl=zh_TW&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265">
</embed>
</object>
必須要將 Youtube 的播放影片設定 wmode 為 transparent 才行,修改過的編碼如下:
<object width="320" height="265" type="application/x-shockwave-flash">
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.youtube.com/v/qvLj0U5FXUM&hl=zh_TW&fs=1" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<embed src="http://www.youtube.com/v/qvLj0U5FXUM&hl=zh_TW&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265" wmode="transparent">
</embed>
</objec>
一來要告訴 Object 這個類型是 flash ,那麼 wmode 才能設定成功,再來就是要在 Param 與 Embed 中加入 wmode 。
神奇的事情就這樣發生了!
最後終於將彈出的次選單顯示在 Flash 影片的上頭了!
大功告成!!!