我在加载YouTube IFrame API时遇到问题 我添加标签,YouTube加载他们的脚本,但是当我调用构造函数时,我收到错误。
player = YT.Player('vidPlayer', {
height: '390',
width: '640',
videoId: id,
playerVars: {
'rel': 0
},
events: {
'onReady': playerReady,
'onStateChange': playerStateChange
}
});
如果我在那里做错了,请纠正我。当我调用该构造函数时,它会抛出一个错误。这就是控制台所说的:
Uncaught TypeError: a.G is not a function
qb @ www-widgetapi.js:24
P @ www-widgetapi.js:20
X @ www-widgetapi.js:31
onYouTubeIframeAPIReady @ script.js:55
(anonymous function) @ www-widgetapi.js:39
(anonymous function) @ www-widgetapi.js:39
有没有人知道解决这个问题的方法?
答案 0 :(得分:0)
我也有同样的问题。这对我有用。我正在使用YouTube iFrame API,然后创建对象。它对我来说很好。 在我们要创建对象的文件中添加脚本。
<script src="https://www.youtube.com/iframe_api"></script>
然后添加加载iFrame的div。
<div id="iframe"></div>
现在通过YouTube API加载YouTube iFrame的JavaScript
$(document).ready(function () {
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('iframe', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady() {
console.log('onPlayerReady');
player.playVideo();
}
function onPlayerStateChange() {
//your code after change the state
}
)};
onYouTubeIframeAPIReady()函数在加载后由YouTube iframe API自动调用。
答案 1 :(得分:0)
我遇到了类似的问题。我注意到您和我一样,在new
前面看着YT.Player
关键字。
YT.Player
是一个构造函数,因此,如果没有new
关键字,它将无法正常工作。