2012-11-16 25 views
49

Giusto, questo sembra essere scarsamente documentato o non riesco a vederlo nella documentazione. Fondamentalmente non voglio video correlati (?rel=0) utilizzando l'API JavaScript.Youtube Javascript API - disabilita i video correlati

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

è quello che ho in atto.

Ho anche provato:

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

senza fortuna. Se uno sa di un'opzione che può essere aggiunta (provato rel : 0 senza fortuna)

+0

È molto utile nel mio caso ... controllarlo https://stackoverflow.com/questions/13418028/youtube-javascript-api-disable-related-videos#new-answer –

risposta

118

"rel" è un parametro giocatore, come specificato qui:

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

Per aggiungere parametri giocatore per iframe giocatori , è necessario specificare la proprietà playerVars del secondo argomento del costruttore (al momento della scrittura questo è documentato here e IFrame API documentation page)

es.

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

Works per giusto, grazie. Non sono riuscito a trovarlo nella [Pagina di riferimento iframe di YouTube] (https://developers.google.com/youtube/iframe_api_reference) – Shahar

+5

Hai reso la mia giornata, grazie! –

+1

Questo non sembra funzionare più per v3 – Dshiz

1

Se stai usando SWFObject, è semplicemente bisogno di fare qualcosa di simile:

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

basta aggiungere rel=0 alla fine dell'URL.

+6

Per motivi di futuri lettori: L'API del player Flash (AS3) utilizzata in precedenza è stata ritirata il 27 gennaio 2015. –

+0

rel = 0 save my time – nlt

0

nessuna necessità di codificare tramite l'API, ora il suo facilmente può essere fatto da

È pulsante tube embed -> Mostra di più -> tickout l'opzione 'Mostra suggerito video quando il video finiture'

0

Il la soluzione accettata non funzionava per me. Ciò che funziona è:

1) Mettere l'iframe in html che include il parametro 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) Utilizzando l'API JavaScript per collegare a quel giocatore esistente

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 violino: http://jsfiddle.net/bf7zQ/195/

Problemi correlati