На YouTube API-интерфейса JavaScript - отключить похожие видео
правильно, это, кажется, плохо документировано или я не вижу его в документации. Я в основном не хочу никаких связанных видео (?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
не повезло )
6 ответов:
" rel " - это параметр игрока, как указано здесь:
https://developers.google.com/youtube/player_parameters#rel
чтобы добавить параметры игрока в iframe players, необходимо указать свойство playerVars второго аргумента конструктора (на момент написания статьи это задокументировано здесь, и на страница документации iframe API)
например
new YT.Player('playerid', { height: '550', width: '840', videoID: 'video_id', playerVars: {rel: 0}, });
принятое решение не работает для меня. Что действительно работает:
1) Поместите iframe в html, который включает параметр 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) использование 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/
Если вы используете 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
до конца вашего url.
нет необходимости кодировать через API, теперь его легко можно сделать с помощью
вы вставляете кнопку трубки - > показать больше - > отметьте опцию "Показать предлагаемые видео, когда видео заканчивается"
вот быстрое решение:
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, оно захватывает в src элемента iframe, находит
?
отметить и затем заменить?
by?rel=0&
. Здесь цель состоит в том, чтобыrel=0