Youtube Javascript API play();不工作..我做错了什么?

时间:2011-01-08 08:22:08

标签: javascript api youtube swfobject

我正在使用YouTubes Javascript API。我在我的本地环境中设置了一个测试页面,但是播放功能不起作用。视频加载,我可以在yt视频屏幕上按播放,但我的链接“播放”无效。谁能告诉我我做错了什么?

我一直在关注此事:http://code.google.com/apis/youtube/js_api_reference.html

<html>
  <head>
    <script type="text/javascript" src="public/javascripts/swfobject.js"></script> 
  </head>

  <body>

    <div id="ytapiplayer">
      You will need Flash 8 or better to view this content.
    </div>

    <script type="text/javascript">
      var params = { allowScriptAccess: "always" };
      var atts = { id: "myytplayer" };
      swfobject.embedSWF("http://www.youtube.com/v/OQSNhk5ICTI&enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "365", "8", null, null, params, atts);

      function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");
      }

      function play() {
        if (ytplayer) {
          ytplayer.playVideo();
        }
      }
    </script>

    <a href="javascript:void(0);" onclick="play();">Play</a>

  </body>
</html>

2 个答案:

答案 0 :(得分:4)

这对本地环境无效。你可以下载例如web developer express包含一个小型Web服务器,您可以在localhost中运行它。

答案 1 :(得分:0)

您的div id是ytapiplayer而不是 myytplayer
因此,将onYouTubePlayerReady上的函数更改为

 function onYouTubePlayerReady(playerId) {
    //ytplayer = document.getElementById("myytplayer");
    ytplayer = document.getElementById("ytapiplayer");
  }

View the fiddle看到代码正常工作