YouTube IFrame API错误

时间:2015-12-15 02:58:39

标签: iframe youtube youtube-iframe-api

我在加载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

有没有人知道解决这个问题的方法?

2 个答案:

答案 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关键字,它将无法正常工作。