如何动态添加wmode = transparent到Youtube嵌入代码?

时间:2012-01-11 10:53:48

标签: javascript youtube embed

我有几个由客户通过CMS添加的Youtube视频。我需要将以下内容添加到所有Youtube src链接中:

?wmode=transparent

我该怎么做?

Youtube嵌入代码的示例如下:

<iframe width="515" height="292" src="http://www.youtube.com/embed/p8IB-5PbL9U" frameborder="0" allowfullscreen></iframe>

这样做的原因是因为我有一个jout菜单落后于Youtube视频,而且我已经读过这就是你修复它的方法。

客户端根本不是技术人员,只是让他们从Youtube获取嵌入代码是一件很困难的事情,因此需要动态添加。

3 个答案:

答案 0 :(得分:11)

如果您只需要向所有帧添加?wmode=transparent,请使用此JS代码:

window.onload = function() {
    var frames = document.getElementsByTagName("iframe");
    for (var i = 0; i < frames.length; i++) {
        frames[i].src += "?wmode=transparent";
    }
}

答案 1 :(得分:5)

您是否已修复使用iframe?由于您无法直接访问底层对象,因此这会变得更加困难。如果可以的话,最好直接在页面上嵌入对象

<object width="515" height="292">
<param name="movie" value="http://www.youtube.com/v/p8IB-5PbL9U"></param>
<param name="allowFullScreen" value="true"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/p8IB-5PbL9U"
  type="application/x-shockwave-flash"
  allowfullscreen="true"
  wmode="transparent"
  width="515" height="292">
</embed>
</object>

答案 2 :(得分:3)

根据您的CMS,您可以通过普通的PHP,只需在每个网址的末尾添加它,或者让您的jQuery为您完成工作。

$('iframe').each(function() {
    $(this).attr("src", $(this).attr("src") + '?wmode=transparent')
});