Javascript 使用loadVideoById()函数自动播放youtube视频不起作用

Javascript 使用loadVideoById()函数自动播放youtube视频不起作用,javascript,iframe,youtube-api,youtube-iframe-api,Javascript,Iframe,Youtube Api,Youtube Iframe Api,我使用onyoutubeiframeapiredy()和loadVideoById()为自定义youtube播放器创建了一个小部件,它可以显示大量视频并单击打开视频并自动播放。作为独立的小部件,一切都可以正常工作。但只要我在iframe中使用这个小部件在其他页面上调用它,autoplay就不起作用了。我不知道这是怎么回事。下面是相同的示例代码 var youtube_Ids=[“N71Nd KLUSo”、“c35LK3qXJ5Q”、“Q8aFElBusk4”、“Kq7vz3Ju_a0”、“8sZ

我使用onyoutubeiframeapiredy()和loadVideoById()为自定义youtube播放器创建了一个小部件,它可以显示大量视频并单击打开视频并自动播放。作为独立的小部件,一切都可以正常工作。但只要我在iframe中使用这个小部件在其他页面上调用它,autoplay就不起作用了。我不知道这是怎么回事。下面是相同的示例代码

var youtube_Ids=[“N71Nd KLUSo”、“c35LK3qXJ5Q”、“Q8aFElBusk4”、“Kq7vz3Ju_a0”、“8sZ5maCXsh0”、“XI1FcgCDoZk”、“AYQYZEXCQ”、“GGhTL8u-2IY”、“RKMFNIC4_bM”、“41Sx2Izve4”、“Lfjo5LFse__8”、“Fi13t258FkA”、“LB334U4”、“McEFfJCBqA”、“KKKKDI-4RI”、“WE”、“CBU3DZU”、“KHF2ZVZU”、“J7CFU”]、“Tf8FKJKKJKJKKKKKKKKKJ7FKU”]

tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
videoId:youtube_-id[0],/“N71Nd-KLUSo”,
PlayerBars:{“自动播放”:1,},
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
函数onPlayerReady(事件){
log('started');
}
函数onPlayerStateChange(事件){
如果(event.data==0){
console.log('done');
}
}
$(文档)。在(“单击”,“视频链接”,功能(e){
e、 预防默认值();
var videoID=$(this.attr('data-videoID');
player.loadVideoById(videoID);
});
如果我把它作为独立的小部件使用,效果很好。但只要将其用作另一个iframe的源,它就可以正常工作,只需单击特定视频,它不会自动播放,并且需要一个以上的用户操作来播放视频-
已尝试使用player.playVideo/event.target.playVideo()-内部onPlayerReady函数,但未成功。任何形式的帮助都将被感谢,因为我是iframes和youtube API的新手。
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', {
        videoId: youtube_Ids[0], //'N71Nd-KLUSo',
        playerVars: { 'autoplay': 1,},
        events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
        }
    });
}
function onPlayerReady(event) {
    console.log('started');
   
}
function onPlayerStateChange(event) {        
     if(event.data === 0) {            
         console.log('done');
     }
}

$( document ).on( "click", ".video-link", function(e) {
    e.preventDefault();
    var videoID = $(this).attr('data-videoID');  
    player.loadVideoById(videoID);

});


Works fine if i use this as independent widget. But as soon as use it as source for another iframe, it works fine except on clicking of a specific video, it doesnt autoplay and requires one more user action to play the video - 

   <iframe id="iframe1" scrolling="no" style="width:100%;border:none;height:100%;" src="http://example.com/youtubeplayer"></iframe>


Have tried using player.playVideo / event.target.playVideo() - inside onPlayerReady function with no success. Any Sort of help will be appreciated, as i am a newbie in iframes & this youtube APIs.