【问题标题】:onReady not being calledonReady 没有被调用
【发布时间】:2018-05-23 11:01:46
【问题描述】:
    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 根本没有帮助我。

【问题讨论】:

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


    【解决方案1】:
    1. 确保您的播放器具有<div> 元素。
    2. 确保实际调用了函数LoadYouTubeIframeAPI。因为在您的代码中它永远不会被执行。你只是在定义它。
    3. 确保您没有通过 HTTPS 访问您的网站,因为使用 javascript 加载 HTTP 资源仅适用于 HTTP 网站。

    Here 是一个工作示例,您可以在桌面上创建一个名为test.html 的文件,将内容粘贴到其中并使用网络浏览器运行它。你会看到它工作得很好。

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

    【讨论】:

    • 哦,谢谢!顺便说一下 LoadYoutubeIframeAPI 被调用。我会试试你说的。
    猜你喜欢
    • 2013-05-31
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2019-03-31
    • 2012-12-16
    • 2015-03-28
    相关资源
    最近更新 更多