没有API函数可以编写YouTube对象的脚本

None API function could be found scripting a YouTube object

本文关键字:YouTube 对象 脚本 API 函数 没有      更新时间:2023-09-26

我试图通过JavaScript操纵Youtube对象。但是一旦我调用像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>

官方示例中有三个 id。我都试过了,没有结果。

firefox 6 AFAIK

UPD最后我发现这样的代码必须在服务器端运行

你首先需要确保你的ytplayer JS对象设置为正确的东西-你可以在onYouTubePlayerReady()的调用中做到这一点:

function onYouTubePlayerReady(playerId) {
  // create a global variable called ytplayer
  ytplayer = document.getElementById("ytplayer"); 
}
我认为API会在播放器加载后为你调用这个函数——你不需要注册它。

编辑:这是一个链接到一个工作的jsfiddle:

http://jsfiddle.net/cZdZK/

答案是:由于Flash的限制,代码应该在服务器端运行