javascript - 嵌入式YouTube iframe的onReady不触发

标签 javascript iframe youtube youtube-api youtube-javascript-api

我在让youtube api工作时遇到问题。 API本身已加载,并且onYouTubeIframeAPIReady()函数被调用,但是onReady不起作用。

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

function onYouTubeIframeAPIReady() {
  log('API')
  log(document.getElementById('yt-pilezspnvu'));
  var player = new YT.Player('yt-pilezspnvu', {
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

function onPlayerReady(event) {
  log(event);
}
function onPlayerStateChange(event) {
  log(event);
}

上面的代码未包装在任何函数或任何内容中。下图中的错误只是我的adblock内容。我已尝试按照此线程https://stackoverflow.com/a/20505337/736967中的指示添加origin=http://example.com,但仍无法正常工作。

enter image description here

最佳答案

我认为您需要一些多余的东西。
尝试将其添加到您的代码中。

  ytplayer = new YT.Player('ytplayer', {

      height: '385',
      width: '640',
      videoId: '[your-videoID]',
      playerVars: {'wmode': 'opaque', 'autohide': 1 , 'enablejsapi': 1 , 'origin': 'http://www.yousite.com', 'rel': 0},

        events: {
          'onReady': onPlayerReady,
          'onStateChange': onPlayerStateChange,
        }
playerVars有很多部分,您可以使用或不使用。但是您绝对需要在播放器中加载一些内容。 VideoID或PlayList。否则将不会发生任何事情。

关于javascript - 嵌入式YouTube iframe的onReady不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128874/

相关文章:

javascript - 检查discord bot命令的参数是否与命令配置指定的格式匹配

javascript - 使用 YouTube iframe API 的播放列表不再有效?

php - YouTube APIv3中多维的Foreach错误

javascript - 在 iPhone Safari HTML 页面上打开带有图像的 Youtube 视频

api - 我想创建chrome扩展程序,以便在youtube播放视频时每次弹出

javascript - 如何修复我的 EJS 引用错误 : friend(variable) not defined?

javascript - jQuery 从 PHP 函数访问 Ajax 响应

javascript - 在插入 DOM 之前操作 html 字符串

javascript - 当用户选择文件-> 打印时仅打印 iframe 的内容

html - 如何制作带有标题和描述的iframe