Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第二个动态加载的YouTube播放器对象不播放_Javascript_Youtube_Youtube Api - Fatal编程技术网

Javascript 第二个动态加载的YouTube播放器对象不播放

Javascript 第二个动态加载的YouTube播放器对象不播放,javascript,youtube,youtube-api,Javascript,Youtube,Youtube Api,简而言之,问题在于: 当我加载页面时,我用YouTube的API创建了一个YouTube播放器对象,效果非常好 当用户单击播放按钮时,我在旋转木马中动态创建了另一个YouTube播放器对象。该对象已创建,甚至出现在旋转木马中,但我无法访问它的函数,如playVideo() 我已经创建了一个播放器对象数组和一个iframe id数组来传递到新的YT.player对象中,所有这些都起作用了,但是第二个视频没有触发任何事件。当我检查并逐步浏览Javascript时,我可以看到player对象的属性,我

简而言之,问题在于:

当我加载页面时,我用YouTube的API创建了一个YouTube播放器对象,效果非常好

当用户单击播放按钮时,我在旋转木马中动态创建了另一个YouTube播放器对象。该对象已创建,甚至出现在旋转木马中,但我无法访问它的函数,如playVideo()

我已经创建了一个播放器对象数组和一个iframe id数组来传递到新的YT.player对象中,所有这些都起作用了,但是第二个视频没有触发任何事件。当我检查并逐步浏览Javascript时,我可以看到player对象的属性,我注意到第一个对象具有所有相关的属性和函数,如addCueRange、Ismute、playVideo等。第二个对象缺少所有这些属性和函数。它的属性数量非常有限

我注意到的一件事是名为“B”的财产。第一个是真的,第二个是假的。这个属性代表什么

以下是代码的一部分:

var players = {};
var youTubeIframes = [];
var index = 0;
var videoID = "";

...

function addYouTubeEvents( youTubeIframe ) {
  youTubeIframes[index] = youTubeIframe;
  youTubeIframes[index].pauseFlag  = false;

  players[youTubeIframes[index].id] = new YT.Player( youTubeIframes[index], {
    videoId: videoID,
    playerVars: {
      html5: 1
    },
    events: {
      'onReady': function(e){
        onPlayerReady(e);
      },
      'onStateChange': function(evt){
        onStateChangeHandler( evt, youTubeIframes[index] );
      }
    }
  } );
  index++;
}
function onPlayerReady(e){
  console.log("Player is ready");
  if(e.target.a.id == 'youtube-video'){
    e.target.playVideo();
  }
}

乍一看。。。id==“youtube视频”。。。如果您使用的是重复id,那么这可能就是dealbreakernope,每个iframe都有一个唯一的idI,我不知道youtube api,因此无法帮助您,但您可能希望显示创建传递到
AddYouTube事件()
的对象的代码和一些html标记。另外,如何使用
索引
?在第一次查看时。。。id==“youtube视频”。。。如果您使用的是重复id,那么这可能就是dealbreakernope,每个iframe都有一个唯一的idI,我不知道youtube api,因此无法帮助您,但您可能希望显示创建传递到
AddYouTube事件()
的对象的代码和一些html标记。另外,如何使用
索引