2

我在使用 youtube 的 JavaScript Embed API 时遇到问题。视频播放完毕后,顶部有两个标题栏。播放时或加载时,只有 1 个可见。我已经创建了一个小提琴,但在这一点上我对可能影响它的东西一无所知。

这是准系统示例 - http://jsfiddle.net/BuM46/

$(document).ready(function() {
    $('.startVideo').click(function() {
        showVideoLightbox('twx2nkNZXQ0');
    });
})  

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);

function showVideoLightbox(id)
{
    var player = new YT.Player('ytplayer', 
    {
        height: '375', width: '667',
        videoId: id,
        playerVars: { 'autoplay': 0, 'rel': 0 }
    });
}

我什至不知道从哪里开始,因为这基本上是 youtube 嵌入的最基本示例,即使在他们自己的文档中也是如此。我试过谷歌搜索 - 'Youtube JavaScript API embed 2 title bar' 但这没有任何用处。我注意到的唯一一件事是,如果您'rel': 0从代码中取出 ,它实际上可以正常工作。认为这是一个错误,我疯了吗?

我能得到的任何澄清或帮助都会很棒,因为这个问题目前在一个高流量的国家旅游网站上很明显,我正在努力为我的客户解决它。

4

1 回答 1

1

一些实验让我认为这是一个错误——好吧,与其说是编码错误,不如说是逻辑错误。看来,当“rel”参数设置为不显示相关视频时,播放器假定它应该在视频末尾添加一个信息栏——所以如果你已经有一个信息栏(这是默认设置) ),你得到双杠。一种可能满足您需求的临时解决方法是在没有信息栏的情况下嵌入视频:

playerVars: { 'autoplay': 0, 'rel': 0, 'showinfo': 0 }

这样,当最后添加信息栏时,它不会加倍。显然它并不完全理想,因为您可能希望在播放视频时显示信息栏,但它可能是目前最好的。您可能还想报告该问题以确认它实际上是一个错误。

于 2013-05-15T23:16:40.990 回答