webentwicklung-frage-antwort-db.com.de

Youtube Javascript API - verwandte Videos deaktivieren

Richtig, das scheint schlecht dokumentiert zu sein oder ich kann es nicht in der Dokumentation sehen. Ich möchte grundsätzlich keine verwandten Videos (?rel=0), die die JavaScript-API verwenden.

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

ist was ich habe.

Ich habe auch versucht:

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

ohne Glück. Kennt jemand eine Option, die hinzugefügt werden kann (versuchte rel : 0 ohne Erfolg)

59
Phil Jackson

"rel" ist ein Player-Parameter, wie hier angegeben:

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

Um Player-Parameter zu Iframe-Playern hinzuzufügen, müssen Sie die playerVars -Eigenschaft des zweiten Konstruktorarguments angeben (zum Zeitpunkt des Schreibens ist dies hier und auf der IFrame-API-Dokumentationsseite dokumentiert).

z.B.

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

Das Verhalten des Parameters rel player hat sich geändert.

Aus der Dokumentation ,

Das Verhalten für den Parameter rel ändert sich am oder nach dem September 25, 2018. Die Änderung bewirkt, dass Sie nicht in der Lage sind verwandte videos deaktivieren. Sie haben jedoch die Option Festlegen, dass die im Player angezeigten verwandten Videos von .__ stammen sollen. derselbe Kanal wie das gerade abgespielte Video

Es ist daher nicht mehr möglich, verwandte Videos zu deaktivieren. Stattdessen ändert playerVars: {rel:0} das Verhalten des Players und zeigt den Vorschlag des angegebenen Kanals an.

10
user9568723

Die akzeptierte Lösung funktionierte nicht für mich. Was funktioniert, ist: 

1) Den iframe in html einfügen, der den rel-Parameter enthält 

<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) Verwenden der Javascript-API zum Anhängen an den vorhandenen Player

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

demo-Geige: http://jsfiddle.net/bf7zQ/195/

3
hallman76

Wenn Sie SWFObject verwenden, müssen Sie einfach Folgendes tun:

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

Fügen Sie einfach rel=0 am Ende Ihrer URL hinzu.

1
Jason

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

0
Sabin Acharya

Hier ist eine schnelle Lösung:

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

Was es tut, sucht es nach dem iframe in Ihrem Dokument. Wenn es iframe findet, greift es nach der Quelle des iframe, findet die ?-Markierung und ersetzt dann ? durch ?rel=0&. Hier ist das Ziel, rel=0

0

Es ist nicht notwendig, über die API zu codieren

Sie können die Schaltfläche "Einbetten" einblenden -> Mehr anzeigen -> Aktivieren Sie die Option "Empfohlene Videos anzeigen, wenn das Video fertig ist"