Не удалось выполнить 'postMessage' в 'DOMWindow': предоставленный целевой источник не соответствует источнику окна получателя - PullRequest
0 голосов
/ 09 ноября 2018

Поэтому я попытался использовать 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
                }
            });
        },
    });
}
...