Youtube onYouTubePlayerReady()函数没有触发

时间:2015-05-26 03:51:01

标签: jsp-tags youtube-javascript-api

之前已经多次提出这个问题,但即使在参考解决方案之后我也无法解决。

我有一个嵌入式Youtube播放器。我跟着 https://developers.google.com/youtube/js_api_reference#Examples

以下是我的JS代码:  

    var params = {
            scale:'noScale',
            salign:'lt',
            menu:'false',
            allowfullscreen :'true',
            wmode :'transparent',
            allowScriptAccess: 'always'
          };

    var atts = { id: "myytplayer" };

    swfobject.embedSWF("http://www.youtube.com/v/vPxGBYJ9Wt8?enablejsapi=1&playerapiid=ytplayer&version=3", "ytapiplayer", "560", "315", "8.0.0", null, null, params, atts);


    function onYouTubePlayerReady(playerId) {
      alert("youtube player ready");
      ytplayer = document.getElementById("myytplayer");
      ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
    }

      var count = 0;

      function onytplayerStateChange(newState) {
          alert("inside");
        if (newState == 1){
          count = count + 1;

          //Trying to count the number of times video is played
        }
      }

我可以观看视频,但我无法收到任何提示信息。

它是从Web服务器提供的。此外,JS代码是在JSP页面中编写的。我应该检查什么?

更新

我在一个单独的fie中尝试了相同的代码,它运行得很好。

1 个答案:

答案 0 :(得分:0)

我把window.onYouTubePlayerReady放在$(文件).ready(function())

中解决了这个问题