2016-09-28 15 views
0

約2週間前まで正常に動作していました。私はコードを変更していない。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プレーヤーのAPIはあなたのウェブサイト上でYouTubeのビデオプレーヤーを埋め込むとJavaScriptを使用してプレーヤーを制御することができます。 IFrame APIは、FlashJavaScriptのプレーヤAPIと異なり、ウェブページにFlashオブジェクトを埋め込むため、ページのタグにコンテンツを投稿します。このアプローチでは、YouTubeがFlashをサポートしていない携帯端末用のFlashプレーヤーではなくHTML5プレーヤーを提供できるため、従来のAPIよりも柔軟性があります。

Flash APIおよびJS APIは既に廃止予定です。

  • JS Fiddle Demo
  • embedding Flash
  • :それはまだ私はあなたがここであなたを助けるかもしれないいくつかのソースがあるのiframe APIに

    を使用することをお勧めする理由である現在のAPIで動作する場合、私はわからないんだけどRelated SO question

これが役に立ちます。

関連する問題