Javascript API Play YouTube (); не работает .. что я делаю не так? - PullRequest
3 голосов
/ 08 января 2011

Я играю с API-интерфейсом JavaScript для YouTube. Я установил тестовую страницу в своем местном окружении, но функция воспроизведения не работает. Видео загружается, и я могу нажать кнопку воспроизведения на экране видео 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 ]

4 голосов
/ 08 января 2011

Это не сработает в местном окружении.Вы можете загрузить, например, веб-разработчик Express, который имеет крошечный веб-сервер, и запустить его на локальном хосте.

0 голосов
/ 08 января 2011

Ваш идентификатор div равен ytapiplayer, а не myytplayer
Итак, измените функцию наYouTubePlayerReady как

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

View the fiddle, чтобы увидетькод работающий

...