Youtube Javascript API嵌入在视频结束后有2个标题栏

Youtube Javascript API Embed has 2 title bars after video ends

本文关键字:结束 2个 标题栏 视频 Javascript API Youtube      更新时间:2023-09-26

我对youtube的JavaScript嵌入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嵌入2标题栏",但没有任何有用的结果。我注意到的唯一一件事是,如果你从代码中取出'rel': 0,它实际上是正确的。我是不是疯了,以为这是个虫子?

任何澄清或帮助我可以得到这将是了不起的,因为这个问题是目前明显的高流量国家旅游网站,我正试图解决它为我的客户。

一些实验让我认为这是一个bug——嗯,与其说是编码bug,不如说是逻辑bug。似乎,当"rel"参数设置为不显示相关视频时,播放器认为它应该在视频末尾添加一个信息栏——所以如果你已经有一个信息栏(这是默认设置),你会得到双条。一个可以满足你需要的临时解决方案是嵌入没有信息栏的视频:

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

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