code

Youtube Javascript API-관련 동영상 비활성화

codestyles 2020. 11. 13. 08:12
반응형

Youtube Javascript API-관련 동영상 비활성화


맞습니다, 이것은 제대로 문서화되지 않았거나 문서에서 볼 수 없습니다. 기본적으로 ?rel=0JavaScript 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행운없이 시도 )


"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}
});

rel 플레이어 매개 변수의 동작이 변경되었습니다.

문서에서 ,

rel 매개 변수의 동작이 2018 년 9 월 25 일 이후에 변경됩니다. 변경으로 인해 관련 동영상을 비활성화 할 수 없습니다. 그러나 플레이어에 표시된 관련 동영상이 방금 재생 된 동영상과 동일한 채널에 속하도록 지정할 수있는 옵션이 있습니다.

따라서 더 이상 관련 동영상을 비활성화 할 수 없습니다. 대신 playerVars: {rel:0}플레이어의 동작을 변경하고 지정된 채널의 제안을 표시합니다.


허용 된 솔루션이 저에게 효과가 없었습니다. 작동하는 것은 :

1) rel 매개 변수를 포함하는 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) 자바 스크립트 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/


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);
    }

Just add rel=0 to the end of your url.


No need to code through the API,now its easily can be done by

You tube embed button -> Show more -> tickout the option 'Show suggested videos when the video finishes'


Here is a Quick solution:

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);

What it does it, it looks for the iframe in your document. If it finds iframe, it grabs the src of the iframe, finds the ? mark and then replaces ? by ?rel=0& . Here the goal is to out rel=0


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

참고URL : https://stackoverflow.com/questions/13418028/youtube-javascript-api-disable-related-videos

반응형