开发者

YouTube Javascript API onstateChange event problems

My javascript:

function onYouTubePlayerReady()
{
  playerObj = document.getElementById("player_embed");
  playerObj.addEventListener("onStateChange", test);

  // Make sure the document is loaded before any DOM-manipulation
  $(document).ready(function() {

      // Update player information every 500ms
      setInterval(updatePlayerInfo, 500);

  });
}

function test(newState)
{
    alert(newState);
}

My videos are loaded correctly and I can control fine them through my javascript. However the onStateChange event never seems to trigger. It never comes up with an alert when I'm playing/stopping/pausing vid开发者_运维问答eos etc. Anyone with a solution/similar problem?


You must pass the function name as a string to addEventListener.

playerObj.addEventListener("onStateChange", "test");


This format is for JQuery but the logic is same, create a function inside onYouTubePlayerReady to pass the playerId

$(document).ready(function() {              
    onYouTubePlayerReady = function(playerId) {
        eventHandler=function(state){onStateChangeID(state,playerId);}
        playerObj = document.getElementById("player_embed");
        playerObj.addEventListener('onStateChange','eventHandler',false);
    }
    onStateChangeID=function(newState,playerId) {
        console.log("onStateChange: ("+playerId+") " + newState);
    }
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜