我有一个包含嵌入优酷视频的iframe,它不服从IE中设置的z-index并在所有内容的顶部。对于YouTube视频,我能够通过将wmode
参数设置为transparent
或opaque
来解决这个问题,但对优酷视频做同样的事情不起作用。
<iframe width="720" height="405" src="http://player.youku.com/embed/[VIDEOCODE]?rel=0&wmode=opaque" frameborder=0 allowfullscreen></iframe>
有什么办法解决这个问题吗?
我在包含Youtube和优酷视频的页面上安装了一个fancybox插件,遇到了同样的问题。对于Youtube视频,你可以在视频src url的末尾做?wmode=opaque
或&wmode=opaque
。你使用&wmode=opaque
时?(又名查询参数)已经在SRC url中使用。
优酷显然没有这样做。但真正的问题是,这两个视频都是基于Flash的插件。Flash不能很好地处理z-index,有时会要求您将其放回原位。所以下面的解决方案应该适用于任何基于flash的插件,而不仅仅是优酷视频:
在嵌入之前插入<param name="wmode" value="transparent">
(我知道你从优酷抓取了iframe代码,但如果你仔细观察,他们有一个使用嵌入的HTML友好代码),并在给定的嵌入代码中插入wmode="transparent"
在你开始嵌入的>之前。
<div>
<param name="wmode" value="transparent">
<embed src="http://player.youku.com/player.php/sid/XNzQxMjA3ODg0/v.swf" allowFullScreen="true" quality="high" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" wmode="transparent"></embed>
</div>
我已经在IE8及更高版本中测试过了。漂亮的工作。