Поэтому я попытался использовать API проигрывателя YouTube , и он отлично работал в первые 2 или 3 экземпляра. Затем он сломался и перестал работать, отказываясь рендерить любые видео, которые я передаю ему.
Кажется, эта ошибка выдается в консоли примерно дважды в секунду, каждые 500 мс.
www-widgetapi.js: 100 Не удалось выполнить 'postMessage' в 'DOMWindow':
Указано целевое происхождение ('https://www.youtube.com') не соответствует
источник окна получателя ('http://localhost').
Вот код
let ajax_url = "http://localhost/scripts/ajax";
let newest_video;
let player;
$(document).ready(() => {
loadVideo();
});
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
if(event.data === 0) {
loadVideo(true);
}
}
function loadVideo(next = false) {
$.ajax({
url: ajax_url + '/get_link.php',
data: {
"selection": (next ? "not_first" : "first")
},
type: 'GET',
error: function(data) {
alert(data);
},
success: function(data) {
newest_video = data;
let videoId = data.substring(data.lastIndexOf('=') + 1);
if (next) {
alert('loading second video<br>' + data + '<br>' + videoId);
}
player = new YT.Player('player', {
width: '1100',
height: '590',
videoId: videoId,
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
});
},
});
}