2016-09-28 8 views
0

У меня было все, что работает нормально, примерно до двух недель назад. Я не изменил код.Событие YouTube onStateChange неожиданно не работает

function loadYtVideo(video, advert, advert_link, splash, splash_link){ 
 
    var params = { allowScriptAccess: "always", wmode: "transparent" }; 
 
    var atts = { id: "eda-player", wmode: "transparent" }; 
 
    var swfobject; 
 
    adv.orig = video; 
 
    swfobject.embedSWF("https://www.youtube.com/v/"+adv.orig+"?rel=0&enablejsapi=1&playerapiid=ytplayer","ytapiplayer", "719", "404", "8", null, null, params, atts); 
 
} 
 

 
function onYouTubePlayerReady(playerId) { 
 
    //It's fired 
 
    edaplayer = document.getElementById('eda-player'); 
 
    edaplayer.addEventListener("onStateChange", "playerState"); 
 
} 
 

 
function playerState(state) { 
 
    //it's not fired 
 
    console.log(state); 
 
}

<div class="adv-video"> 
 
    <div id="ytapiplayer"> 
 
     <script> 
 
      $(document).ready(function(){ 
 
       loadYtVideo($.getUrlVar('ytVideo'), 'eM2ja9LE0YE', 'http://wilmax.ru/', '', ''); 
 
      }); 
 
     </script> 
 
    </div> 
 
</div>

Я нашел сообщения с подобной проблемой, но решения в этих должностях не работают в этом случае. Любая помощь будет принята с благодарностью.

ответ

1

Я хотел бы предложить вам перейти к YouTube IFrame Player API:

IFrame Player API позволяет вставлять видео плеер YouTube на своем сайте и управлять плеером с помощью JavaScript. В отличие от API-интерфейсов Flash и JavaScript, которые включают в себя внедрение Flash-объекта на вашу веб-страницу, IFrame API публикует содержимое на тег на вашей странице. Такой подход обеспечивает большую гибкость, чем ранее доступные API, поскольку он позволяет YouTube использовать плеер HTML5, а не Flash-плеер для мобильных устройств, которые не поддерживают Flash.

Flash API и JS API уже устарели. Я не уверен, если он по-прежнему работать с текущей API, поэтому я предлагаю вам использовать IFrame API

Вот некоторые источники, которые могут помочь вам:

Надеюсь, это поможет!