【问题标题】:YouTube Javascript API onstateChange event problemsYouTube Javascript API onstateChange 事件问题
【发布时间】:2011-01-26 23:28:05
【问题描述】:

我的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);
}

我的视频已正确加载,我可以通过我的 javascript 对其进行控制。但是 onStateChange 事件似乎永远不会触发。当我播放/停止/暂停视频等时,它永远不会出现警报。任何有解决方案/类似问题的人?

【问题讨论】:

    标签: javascript jquery youtube-api


    【解决方案1】:

    您必须将函数名称作为字符串传递给addEventListener

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

    【讨论】:

    • 看来我需要 RTFM。谢谢。
    【解决方案2】:

    这个格式是JQuery的,但逻辑是一样的,在onYouTubePlayerReady里面创建一个函数来传递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);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2014-08-28
      • 2012-04-17
      • 2015-11-07
      • 2023-04-04
      • 2014-04-30
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2020-09-18
      相关资源
      最近更新 更多