YouTube的JavaScript API第 - 禁用相关视频(Youtube Javascrip

2019-07-03 21:42发布

没错,这似乎是不良记录或者我看不到它的文档。 我基本上要没有相关视频( ?rel=0使用JavaScript API)。

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId
});

是我到位。

我也曾尝试:

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId + '?rel=0',
    rel : 0
});

没有运气。 是否可以添加(尝试一个选项中的任何一个知道rel : 0没有运气)

Answer 1:

“rel”是播放器参数,如下规定:

https://developers.google.com/youtube/player_parameters#rel

要添加播放器参数的iframe的球员,你需要指定第二个构造函数参数的playerVars特性(在写这个是记录的时间在这里和在IFrame的API文档页 )

new YT.Player('playerid', {
    height: '550',
    width: '840',
    videoID: 'video_id',
    playerVars: {rel: 0, showinfo: 0, ecver: 2}
});


Answer 2:

该版本播放器参数的行为已更改。

从技术文档 ,

对于相对参数的行为改变或9月25日,2018年后的变化的影响是,你将不能够禁止相关视频。 然而,你将有指定的选项,在播放器上显示的相关视频应该从作为视频相同的信道刚出场

因此,它不再是可以禁用相关视频。 相反playerVars: {rel:0}将改变玩家的行为,并表示从指定通道的建议。



Answer 3:

接受的解决方案并没有为我工作。 什么工作:

1)把在HTML的IFRAME包括所述相对参数

<iframe id="youtube-video" width="560" height="315" 
 src="https://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1&rel=0&modestbranding=1" 
 frameborder="0" enablejsapi="1" allowfullscreen></iframe>

2)使用JavaScript API附加到现有的播放器

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

var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('youtube-video', {
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

function onPlayerReady(event) {
    console.log("ready");
}

function onPlayerStateChange(event) {
    console.log("state changed");
}

演示小提琴: http://jsfiddle.net/bf7zQ/195/



Answer 4:

如果你正在使用SWFObject,你只需要简单地做这样的事情:

function loadVideo() {
        var params = { allowScriptAccess: "always" }
            , atts = { id: "myvideo" }
        ;
//NOTE THE END OF THE BELOW LINE vvvvvv
        swfobject.embedSWF("https://www.youtube.com/v/[video id here]?enablejsapi=1&playerapiid=myvideo&version=3&rel=0"
         , "videoplaceholderid"
         , "768", "432", "8", null, null, params, atts);
    }

只需添加rel=0到您的网址的结尾。



Answer 5:

无需通过API编写,现在它很容易可以通过完成

你管嵌入按钮 - >查看更多 - > tickout选项“显示推荐视频的视频播放完毕”



Answer 6:

这里是一个快速的解决方案:

setInterval(function(){
    if($('iframe').length > 0){
        $('iframe').each(function(){
            if($(this).hasClass('gotYou')){
                //do nothing
            }else{
                var getMySrc = $(this).attr('src');
                var newSrc = getMySrc.split('?');
                console.log(newSrc);
                var freshURL = newSrc[0]+'?rel=0&'+newSrc[1];
                console.log(freshURL);
                $(this).addClass('gotYou');
                $(this).attr('src', freshURL );         
            }
        });
    }
}, 1);

它的作用,它会在您的文档中的iframe中。 如果它发现的iframe,它抓住的iframe的src,找到? 标记然后替换? 通过?rel=0& 。 这里的目标是到了rel=0



Answer 7:

 new YT.Player('playerid', { height: '550', width: '840', videoID: 'video_id', playerVars: {rel: 0}, }); 



文章来源: Youtube Javascript API - disable related videos