2017-09-08 11 views
0

私は、YouTubeチャンネルから最新のビデオを取り込み、それを私の学校のページに埋め込むスクリプトを持っています。それは動作しますが、2つの問題があります。Youtube Script Delay

最近公開された動画をすぐに特定するものではありません。同期する前にyoutubeからの遅延があり、新しい投稿を登録できますか?

スクリプトは2つ実行されますが、ページ上の他の動画コンテンツの表示が停止されます。それがなぜ起こっているのでしょうか?

私はそれを何度も見て、思っていたすべての検索を使い果たしました。

ありがとうございました!ここでは、コードは次のようになります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<iframe id="youtube_video" width="400" height="215" frameborder="0" allowfullscreen></iframe> 

<script> 
    var channelID = "UC0gcWgeEVOE7TDEKtLNnSuA"; 
    $.getJSON('https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fwww.youtube.com%2Ffeeds%2Fvideos.xml%3Fchannel_id%3D'+channelID, function(data) { 
    var link = data.items[0].link; 
    var id = link.substr(link.indexOf("=")+1); 
    $("#youtube_video").attr("src","https://youtube.com/embed/"+id + "?controls=1&showinfo=0&rel=0"); 
    }); 
</script> 

答えて

0

私はあなたが達成しようとしているかについては100%明確ではないです - しかし、あなたは1つの以上の映像を表示しようとしている場合、あなたは現在、唯一の単一#youtube_video要素を持っています。 見つかりhttps://jsfiddle.net/e620tuy8/

var channelID = "UC0gcWgeEVOE7TDEKtLNnSuA"; 
$.getJSON('https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fwww.youtube.com%2Ffeeds%2Fvideos.xml%3Fchannel_id%3D' + channelID, function(data) { 
    var container = $('.container'); 
    for (var i = 0; i < data.items.length; i++) { 
    var link = data.items[i].link; 
    var id = link.substr(link.indexOf("=") + 1); 
    var iframe = '<iframe id="youtube_video_id_' + i + '" src="https://youtube.com/embed/' + id + '?controls=1&showinfo=0&rel=0" width="400" height="215" frameborder="0" allowfullscreen></iframe>' 
    container.append(iframe) 
    } 
}); 
+0

返信いただきありがとうございます。私は、1つのビデオのみを表示します。問題は、それが最新のビデオではないということです。動画がYouTubeにアップロードされてからスクリプトがそれを検出できるまでに遅延があるかどうかはわかりません。最終的には、最新の動画は動作しますが、数時間アップロードされた後にのみ再生されます。それがより明確であるかどうか私に教えてください。再度、感謝します。 – Adam

+0

あなたが送ったフィドルには、2時間前と1時間前にチャンネルにアップロードされた2つの新しい動画が含まれていますが、スクリプトが動画を取り込むときには含まれていません。ありがとう。 – Adam

0

、もう少し掘りと答え:むしろ、あなたはおそらく、ここでフィドルのデータ配列の各インデックスの要素を作成し、そのような #youtube_video + link[i]

として固有のIDを作成する必要があります。ここではフランクの答えに

おかげhttps://stackoverflow.com/a/43873099/5943182

を見る誰にもありがとう。

私はまだ、最新のものが上記のコードで引かれていなかった理由を知りませんが、代わりの方法は素晴らしいものです。