onReady未被调用

时间:2017-12-09 09:37:39

标签: youtube-api youtube-iframe-api onready

    var player = null;

function LoadYouTubeIframeAPI() {
  var scriptElement = document.createElement("script");
  scriptElement.src = "http://www.youtube.com/iframe_api";
  var firstScriptElement = document.getElementsByTagName("script")[0];
  firstScriptElement.parentNode.insertBefore(scriptElement, firstScriptElement);
}

function onYouTubeIframeAPIReady() {
  var playerParams = {
    playerVars: {
      "enablejsapi": 1,
      "origin": document.domain,
      "rel": 0
    },
    events: {
      "onReady": onPlayerReady,
      "onError": onPlayerError,
      "onStateChange": onPlayerStateChange
    }
  };
  player = new YT.Player("player", playerParams);
}

function onPlayerReady(event) {
  alert("ready")
}

function onPlayerError(event) {}

function onPlayerStateChange(event) {}

这是我的完整代码。

function onPlayerReady(event) {
    alert("ready")
}

因某些原因永远不会被解雇。有人能帮忙吗?我几乎无法让它工作几个小时...... Google根本没有帮助我。

1 个答案:

答案 0 :(得分:0)

  1. 确保您的播放器有<div>元素。
  2. 确保实际调用函数LoadYouTubeIframeAPI。因为在你的代码中它永远不会被执行。你只是定义它。
  3. 确保您没有通过HTTPS访问您的网站,因为使用javascript加载HTTP Ressourcs仅适用于HTTP网站。
  4. Here是一个工作示例,您只需在桌面上创建一个名为test.html的文件,将内容粘贴到其中并使用webbrowser运行它。你会发现它运作得很好。

    Here您可以找到API参考以查看更多详细信息。