已经嵌入的iframe无法使用youtube api

时间:2014-10-19 11:40:58

标签: javascript iframe youtube youtube-api

我的iframe html

<iframe id="player" frameborder="0" width="660" height="371" allowfullscreen="" src="https://www.youtube.com/embed/CMm6tDavSXg?feature=oembed">

我的youtube js

  var tag = document.createElement('script');

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

var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('player', {
    events: {
 'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}
function onPlayerReady(event) {
        event.target.playVideo();
      }

但它还没有开始播放或其他任何事情......这里的问题在哪里?谢谢

1 个答案:

答案 0 :(得分:0)

  • onPlayerReady不会触发localhost上的就绪检查。
  • 此外,当您链接youtube.js文件时,它必须在iframe之后。
  • add?enablejsapi = 1
  • 有时,player_api和iframe_api中的双重链接也会有所帮助
  • //&LT;之前www。不是https://
  • placment是关键。

编辑:问题在于您还需要在视频中添加?enablejsapi = 1 嵌入链接。

//www.youtube.com/embed/F4efZDqXZKA?enablejsapi=1

小提琴:http://jsfiddle.net/y89je0k8/

这将解决您的问题。