【发布时间】:2011-01-06 04:32:41
【问题描述】:
根据我的阅读,这就是我应该如何设置YouTube API:
<!DOCTYPE html>
<html lang="en">
<head>
<meta content='text/html;charset=UTF-8' http-equiv='content-type' />
<title>Youtube Player</title>
<script src="jquery.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
function onYouTubePlayerReady(id) {
console.log("onYouTubePlayerReady() Fired!");
var player = $("#youtube_player").get(0);
}
var params = { allowScriptAccess: "always" };
var atts = { id: "youtube_player" };
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1",
"youtube", "425", "356", "8", null, null, params, atts);
</script>
</head>
<body>
<div id="youtube"></div>
</body>
</html>
但是,'onYouTubePlayerReady()' 根本不会触发,如果我手动获取对播放器的引用,很多方法是未定义的;例如,cueVideoById() 有效,但 playVideo() 无效。
我该如何解决这个问题?
【问题讨论】:
-
这可能不是它,但您可以尝试为文档提供 HTML 4 文档类型而不是 HTML 5 吗?只是为了排除这种可能性。
-
如文档中所述,您是否使用此 Web 服务器? code.google.com/apis/youtube/js_api_reference.html
-
@Pekka:不,我不是,只是在 API 文档页面上注意到了这一点。我想我以后需要多读一些东西。谢谢:)
-
不客气!我添加了我的评论作为答案,所以如果它对你有用,你可以关闭它。
-
我在这里尝试了所有解决方案,但没有任何效果...没有在 dom 之前加载脚本,没有在服务器上运行,不包括 youtube api,没有在 head 的 script 标签中加载脚本...
标签: javascript swfobject youtube-api