Как реализовать вывод своего текста взамен 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>
Но успех не увенчался(