我正在尝试通过javascript api播放YouTube视频。
有一个名为
的youtube-video-objectmyytplayer.playVideo();
它是这样发起的:
function onYouTubeIframeAPIReady() {
new YT.Player('player', {
height: '720',
width: '1280',
html5: 0,
videoId: 'i8IXMGHpGBk',
playerVars: {'modestbranding': 1, 'controls': 1,'showinfo': 0, 'rel': 0 },
events: {
'onStateChange': function(e) {
if (e.data === 0) {
$('html, body').animate({
scrollTop: $(".quizwrapper").offset().top
}, 1000);
document.getElementById('first').focus();
}
}
}
});
}
有时,但并非总是如此,我收到错误:
TypeError:Object#<
S
>没有方法'playVideo'。
if(myytplayer){
myytplayer.playVideo();
}
Object #<S>
甚至意味着什么?
答案 0 :(得分:0)
根据您使用的控制台,控制台会说Object#<S>
这实际上只是您的对象类型,因为JavaScript不是基于类的,所以永远不会说myytplayer
。
在if(myytplayer){
上的任何浏览器中设置断点都会显示您的myytplayer
对象是undefined
或未初始化为您的班级类型。这可能是由许多问题引起的。可能需要调用初始化程序来设置对象,如果已经完成,那么您需要查看脚本加载并确保在执行代码之前加载了myytplayer脚本。