4

我有一个带有 iframe 的页面,显示覆盖整个页面的外部网站,顶部有一个包含一些内容的 div,类似于谷歌图像新界面。如果在 iframe 中包含的页面中有一个 youtube 视频,它会覆盖主页中的内容,因为 iframe 中的页面来自外部网站,因此无法在其上设置 wmode 透明。

有没有办法控制 iframe 内的 flash 分层?

谢谢

朱塞佩

4

5 回答 5

4

您只需要像这样更改 iframe 的 src 值:

$('iframe').each(function() {
    var fixed_src = $(this).attr('src') + '&wmode=transparent';
    $(this).attr('src', fixed_src);
});

*注意:这是特定于 YouTube 的 iframe 嵌入代码。

于 2011-02-22T19:50:06.967 回答
1

添加 ?,而不是 &。"?wmode=transparent" 例如:

<iframe width="697" height="400" src="http://www.youtube.com/embed/IgvDkflXVuw?wmode=transparent" frameborder="0" allowfullscreen></iframe>
于 2012-04-22T02:46:01.210 回答
0

只需将 id 连同其余属性一起添加到 iframe 中,如下所示

<iframe id="ytplayer" width="697" height="400" src="http://www.youtube.com/embed/IgvDkflXVuw?wmode=transparent" allowfullscreen="" type="text/html" wmode="Opaque"  frameborder="0" wmode="Opaque"></iframe>`
于 2013-09-17T16:21:21.420 回答
0

由于您已经发布了很长时间的问题,我想知道您是否知道答案。

无论如何,您可以尝试使用 javascript 更改 wmode(使用 jquery 会简单得多,;))

试试这个代码:

if ($('embed').length){
    $('embed').attr('wmode', 'transparent').wrap('<div>');
}

或者如果它无法识别 iframe 中的嵌入对象,您可以尝试:

if ($('iframe embed', parent.document).length){
    $('iframe embed', parent.document).attr('wmode', 'transparent').wrap('<div>');
}
于 2011-01-18T14:31:14.050 回答
0

只需在 YouTube 嵌入式 iframe属性&wmode=transparent的末尾添加即可。src您可以稍后使用 jQuery 更改 src,但为什么让页面加载错误的内容,然后更改它以重新加载正确的内容?只需编辑 HTML。

于 2011-12-08T19:26:51.267 回答