2013-08-21 3 views
-2

Я знаю, что есть несколько вопросов по этой теме. Я даже получил отличный ответ here.Обнаружение, когда видео youtube заканчивается

Проблема заключается в следующем. У меня есть код, который я не могу изменить, который показывает видео с YouTube. Я должен приспособиться к нему.

Проблема в том, что функция onPlayerStateChange() никогда не запускается. Любая идея, почему это происходит?

<script src="http://www.youtube.com/player_api"></script> 
<script type="text/javascript"> 
var ytPlayer; 
var idplayer; 
function onYouTubePlayerReady(playerId) { 
    ytPlayer = document.getElementById("ytPlayer"); 
} 

function pauseVideo() { 
    if (ytPlayer) { 
    ytPlayer.stopVideo(); 
    } 
} 

// when video ends 
function onPlayerStateChange(event) {   
    if(event.data === 0) { 
    idplayer=document.getElementById("a_TMBLRWDLH").href; 
     window.location.assign(idplayer); 
    } 
} 

j$(document).ready(function(){ 


    j$('#' + Bnr_vars[0].banner).click(function(){ 

     if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) 
{ 
    var info='<iframe width=\"600\" height=\"338\" src=\"http://www.youtube.com/embed/0Bmhjf0rKe8?rel=0&wmode=transparent&modestbranding=1&autoplay=1&enablejsapi=1\" frameborder=\"0\" allowfullscreen></iframe>'; 
    j$('#player').html(info); 
} 

}); 
</script> 
+1

Совет: упростите свой код и убедитесь, что он работает, * затем * сделайте свой причудливый материал. Легче отлаживать этот путь, и вам не придется повторять свои шаги так же. Он четко работает в примере из связанного ответа, поэтому я предлагаю вам начать с этого момента. Проверьте это [link] (https://developers.google.com/youtube/iframe_api_reference#Getting_Started) – ShadowScripter

+0

Да. Спасибо за это. Документация говорит, что мне нужно иметь & enablejsapi = 1, и таким образом я могу вызывать функции событий. Но это не работает. – Diego

ответ

0

У меня есть решение на всякий случай помогает кому-то. Мне нужно создать новый YT.Player, когда я хочу, чтобы диалог появился.

j$(document).ready(function(){ 
    var Bnr_vars = [ 
     { 
      "banner" : "teamworkRowersDLVidOpener", 
      "closer" : "teamworkRowersDLVidCloser", 
      "dialog" : "teamworkRowersDLVidDialog", 
      "auto" : "false"    // auto open TRUE or FALSE? 
     } 
    ]; 

    lightboxCreate(Bnr_vars); // create lightboxes based on array above 

    j$('#' + Bnr_vars[0].banner).click(function(){ 

     if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) 
     { 
      var info=new YT.Player('player', { 
       height: '338', 
       width: '600', 
       videoId: '_Zmr0cUeNBY', 
       playerVars : { 
        playerapiid:'player1', 
        rel: '0', 
        wmode: 'transparent', 
        modestbranding: '1' 
       }, 
       events: { 
        'onReady': onPlayerReady, 
        'onStateChange': onPlayerStateChange 
       } 
      }); 
      j$('#player').html(info); 
     } 

    }); 
Смежные вопросы