【问题标题】:YouTube IFrame API ErrorYouTube IFrame API 错误
【发布时间】:2015-12-15 02:58:39
【问题描述】:

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

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

【问题讨论】:

  • 由于您还没有发布整个代码,请看一下我的迷你项目:github.com/alibozorgkhan/minidj/blob/master/static/js/minidj.js。也许它可以帮助您找出问题所在。
  • @AliBZ onYouTubeIframeAPIReady 函数和添加 player_api 的脚本是代码中唯一的内容,所以您在这里看到的几乎是所有内容,除了标签脚本。

标签: iframe youtube youtube-iframe-api


【解决方案1】:

我也有同样的问题。这对我有用。我正在使用 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
}

)};

YouTube iframe API 在加载时自动调用 onYouTubeIframeAPIReady() 函数。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。我注意到你和我一样,仔细查看了 YT.Player 前面的 new 关键字。

    YT.Player 是一个构造函数,所以如果没有new 关键字,它将无法工作。

    【讨论】:

    • 是的,那时我还不熟悉 JavaScript 中的对象概念。即使是现在,在你指出之前我都不知道这是问题所在。
    猜你喜欢
    • 2017-09-26
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2017-08-30
    • 2013-05-12
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多