@id_15000000
Web-верстальщик;

Как вывести свой текст если видео недоступно (API YouTube)?

Как реализовать вывод своего текста взамен iframe плеера, если видео в самом iframe по каким то причинам не доступно?
В документации есть информация, вроде как, что их API может работать такими "возможностями".
onError
Это событие активируется при возникновении ошибки в работе проигрывателя. API передаст объект event функции прослушивания событий. Свойство data объекта будет содержать целочисленный идентификатор типа ошибки. Возможные значения:
2 - запрос содержит недопустимое значение параметра. Например, ошибка возникает при указании идентификатора видео, состоящего из менее 11 символов или содержащего недопустимые символы (восклицательный знак, символ звездочки и т. д.).
5 - ошибка воспроизведения запрошенного содержимого в проигрывателе HTML или другая ошибка, связанная с работой проигрывателя HTML.
100 - запрошенное видео не найдено. Эта ошибка возникает, если видео было удалено (по любой причине) или помечено как частное.
101 - владелец запрошенного видео запретил его воспроизведение во встроенных проигрывателях.
150 - ошибка, аналогичная ошибке 101. Это другой код для ошибки 101.

Но как это прикрутить на свой сайт?
Пробовал как то так:
<script>
	function onYouTubeIframeAPIReady() {
	player = new YT.Player('yt-frame', {
		videoId: 'M7lc1UVf-V1',
		playerVars: {
			color: 'white', 
			controls: '1', 
			iv_load_policy: '0',
			rel: '0', 
			showinfo: '0',
			start: '1',
		},
        events: {
	        'onError': onPlayerError
		}
    });
}
 
function onPlayerError(event)
{
	$('#result').text('ERROR');
}
</script>
<div id="yt-frame"></div>
<h3 id="result">NOT LOADED</h3>
<script>
var tag = document.createElement('script');
 
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
</script>

Но успех не увенчался(
  • Вопрос задан
  • 349 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Вставил ваш код в jsfiddle, написал videoId: 0, нажал play - отобразился ваш ERROR.
Вписал videoId существующего ролика, получил работающий плеер.
ЧЯДНТ?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы