如何获取覆盖Flash视频的元素(尝试过wmode = transparent)?

时间:2010-08-17 03:09:06

标签: html css flash youtube

我的主页上有一个Youtube视频,现在我需要一个模式来显示某些事件。

出于某种原因,即使向Flash对象添加<param name="wmode" value="transparent">,它仍会覆盖HTML元素(也会更高z-index)。

我在JSfiddle上得到了它。

我想也许iframe可以解决这个问题,但这需要我制作一个新页面才能播放视频。

我做错了吗?

由于

更新

奇怪的是,这种行为发生在Windows Firefox和IE8上。在Mac上的Firefox上,它渲染得很好。

2 个答案:

答案 0 :(得分:3)

你有嵌入和对象。您需要将wmode应用于嵌入。

http://jsfiddle.net/zCDVx/2/

<object width="640" height="385">
    <param name="movie" value="http://www.youtube.com/v/_-wDuGDtjCc?fs=1&amp;hl=en_GB">
    <param name="wmode" value="transparent">
    <param name="allowscriptaccess" value="always">
    <embed src="http://www.youtube.com/v/_-wDuGDtjCc?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385" wmode="transparent"></embed>
</object>

答案 1 :(得分:1)

你需要将wmode作为对象参数,并作为嵌入的一部分在所有浏览器中工作。

<object width="640" height="385">
    <param name="movie" value="http://www.youtube.com/v/_-wDuGDtjCc?fs=1&amp;hl=en_GB">
    </param>
    <param name="wmode" value="transparent"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/_-wDuGDtjCc?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash"
        allowscriptaccess="always" allowfullscreen="true" width="640" height="385" 
        wmode="transparent">
    </embed>
</object>

注意倒数第二行。

here