Функции seekTo, playVideo и pauseVideo не работают в API YouTube Player

#javascript #html #api #youtube

#javascript #HTML #API #YouTube

Вопрос:

Я работаю с API YouTube Player и использую seekTo() функцию, но она не работает. На самом деле, playVideo() or pauseVideo() тоже не работает. Вот код:

 <script type="text/javascript" src="swfobject.js"></script>
<body>
<div id="divvideo">
<p>You will need Flash 8 or better to view this content.</p>
</div>
<script type="text/javascript">
    var params = { allowScriptAccess: "always" };
    var atts = { id: "video" };
    swfobject.embedSWF(
        "http://www.youtube.com/v/o3nmOw9vKw4?enablejsapi=1amp;playerapiid=video", "divvideo", "720", "405", "8", null, null, params, atts);

ytplayer = document.getElementById("video");

function play() {
    if (ytplayer) {
        ytplayer.playVideo();
    }

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

Видео отображается, но гиперссылка на воспроизведение не работает. Что мне следует делать?

Комментарии:

1. Так, в частности, не работает скрипт? Или сам проигрыватель не работает? Есть ли у вас какое-либо значение для ytplayer?

2. Это сценарий: проигрыватель работает, но когда я нажимаю гиперссылку «Воспроизвести», он ничего не делает. Я думаю, что ytplayer — это объект, который появляется: ytplayer = document.getElementById(«видео»);

Ответ №1:

В вашем JavaScript у вас есть это:

 ytplayer = document.getElementById("video");
  

Но когда вы объявляете свой элемент, вы объявляете его следующим образом:

 <div id="divvideo">
  

Видите несоответствие? Вы ищете HTML-элемент, который id есть "video" , но его нет — вместо него id есть "divvideo" ваш HTML-элемент.

Вам нужно либо изменить свой getElementById вызов на take "divvideo" , либо div изменить свой на have id="video" .

Комментарии:

1. Нет, #video — это имя <объекта> или <встраивания>, которое отображается с помощью SWFObject. Я попытался изменить document.getElementById(«divvideo»), но это не сработало. Но спасибо, что потратили свое время! ;-).