以下是我的代码:我试图在运行时获取当前的YouTube时间。但是,它总是提醒我错误消息:“Uncaught TypeError:undefined不是函数”。它使我困惑不已。因为我已经提前定义了球员。为什么该功能无法使用?除了getCurrentTime方法之外,我还测试其他方法,如getVolume(),它也会遇到同样的错误。Youtube API不起作用 - 未捕获TypeError:undefined不是函数
任何帮助?提前致谢!在画面
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>THis is YOutube API testing </title>
</head>
<body>
<div class="container">
<iframe id="video" width="560" height="315" src="https://www.youtube.com/embed/02GcUZ6hgzo" frameborder="0" allowfullscreen></iframe>
</div>
<script>
//import YouTube API script
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
//create the YouTube Player
var player;
function onYouTubeIframeAPIReady() {
console.log("API is Ready");
player = new YT.Player("video", {
events : {
'onReady': onPlayerReady(),
'onStateChange': onStateChangeEvent()
}
});
}
function onPlayerReady() {
console.log("My plaer is onReady");
}
function onStateChangeEvent(){
setInterval(function(){
var time = player.getCurrentTime();
//var volume = player.getVolume();
console.log("Get Current Time: " + time);
},1000);
}
</script>
</body>
</html>
错误消息:
听到这很棒。继续并将此作为答案,以便其他人可以看到解决方案是什么 – pertrai1 2015-03-03 18:14:11
这对其他人来说非常有用。其新的iframe API(https://developers.google.com/youtube/iframe_api_reference)的Youtube文档没有明确说明包含enablejsapi = 1参数。只有弃用的API文档才会这么说!如果你像我一样,而且你正在使用新的iframe API,并且你也手动将iframe放入你的html中,而不是像他们建议的那样通过API生成它,那么你需要包含这个参数! – 2015-04-15 20:54:00