D'accord, cela semble être mal documenté ou je ne le vois pas dans la documentation. En gros, je ne veux aucune vidéo associée (?rel=0
) utilisant l'API JavaScript.
$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
height: '550',
width: '840',
videoId: $vidId
});
est ce que j'ai en place.
J'ai aussi essayé:
$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
height: '550',
width: '840',
videoId: $vidId + '?rel=0',
rel : 0
});
sans chance. Est-ce que quelqu'un connaît une option à ajouter (essayé rel : 0
sans chance)
"rel" est un paramètre de lecteur, comme spécifié ici:
https://developers.google.com/youtube/player_parameters#rel
Pour ajouter des paramètres de lecteur aux lecteurs iframe, vous devez spécifier la propriété playerVars du deuxième argument du constructeur (au moment de l'écriture, cela est documenté ici et sur la page de documentation de l'API IFrame ).
par exemple.
new YT.Player('playerid', {
height: '550',
width: '840',
videoID: 'video_id',
playerVars: {rel: 0, showinfo: 0, ecver: 2}
});
Le comportement du paramètre rel player a changé.
Le comportement du paramètre rel change à partir de septembre 25, 2018. L'effet de la modification est que vous ne pourrez pas désactiver les vidéos associées. Cependant, vous aurez l'option de en spécifiant que les vidéos associées affichées dans le lecteur doivent provenir de le même canal que la vidéo qui vient d'être jouée
Il n'est donc plus possible de désactiver les vidéos associées. À la place, playerVars: {rel:0}
modifiera le comportement du lecteur et affichera les suggestions du canal spécifié.
La solution acceptée ne fonctionnait pas pour moi. Qu'est-ce que le travail est:
1) Mise en html de l'iframe incluant le paramètre rel
<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) Utilisation de l'API javascript pour se connecter à ce lecteur existant
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");
}
démo violon: http://jsfiddle.net/bf7zQ/195/
Si vous utilisez SWFObject, vous devez simplement faire quelque chose comme ceci:
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);
}
Ajoutez simplement rel=0
à la fin de votre URL.
new YT.Player('playerid', {
height: '550',
width: '840',
videoID: 'video_id',
playerVars: {rel: 0},
});
Voici une solution rapide:
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);
Qu'est-ce qu'il fait, il cherche l'iframe dans votre document. S'il trouve l'iframe, il saisit le src de l'iframe, trouve la marque ?
et remplace ensuite ?
par ?rel=0&
. Ici, l’objectif est de sortir rel=0
Pas besoin de coder via l’API, il est maintenant facile de le faire en
You tube embed button -> Afficher plus -> Cochez l'option "Afficher les vidéos suggérées à la fin de la vidéo".