Ни одна функция API не может быть найдена в сценарии объекта YouTube - PullRequest
0 голосов
/ 26 июля 2011

Я пытаюсь манипулировать объектом Youtube через JavaScript. Но как только я вызываю функцию типа seekTo (), движок JS сообщает, что такой функции нет:

<script type="text/javascript" src="swfobject.js"></script>    
<div id="ytapiplayer"></div>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
var atts = { id: "ytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/tS3J2BkLamQ?enablejsapi=1&playerapiid=ytplayer", 
               "ytapiplayer", "425", "356", "8", null, null, params, atts);
</script>
<a href="javascript:void(0);" onclick="ytplayer.seekTo(10,true)">seek</a>

В официальном примере есть три идентификатора. Я попробовал их все безрезультатно.

Fiefox 6 AFAIK

UPD Наконец я понял, что такой код должен выполняться на стороне сервера.

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Сначала вам нужно убедиться, что ваш объект ytplayer JS настроен правильно - вы можете сделать это внутри вызова onYouTubePlayerReady():

function onYouTubePlayerReady(playerId) {
  // create a global variable called ytplayer
  ytplayer = document.getElementById("ytplayer"); 
}

Я думаю, что API вызывает эту функцию для вас после загрузки плеера - вам не нужно регистрировать ее.

Редактировать: вот ссылка на рабочий jsfiddle:

http://jsfiddle.net/cZdZK/

0 голосов
/ 26 июля 2011

Ответ: код должен выполняться на стороне сервера из-за ограничений Flash.

...