我有一个脚本可以从youtube频道中提取最新视频并将其嵌入我的学校页面。它有效,但有两个问题。
一个它没有立即识别最近发布的视频。 youtube在同步和新帖子注册之前有延迟吗?
两个脚本运行但它确实阻止页面上的其他视频内容显示。知道为什么会这样吗?
我一遍又一遍地看着它并且耗尽了我能想到的任何搜索。
感谢您的帮助!这是代码:
<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 :(得分:0)
我不是100%清楚你想要实现的目标 - 但是如果你想要显示超过1个视频,那么你目前只有一个#youtube_video元素。相反,您可能需要为数据数组的每个索引创建一个元素,并创建唯一的ID,例如
#youtube_video + link[i]
这是一个小提琴: 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)
}
});
答案 1 :(得分:0)
发现,答案更多一点。
感谢Frank在这里的回答https://stackoverflow.com/a/43873099/5943182
感谢所有观看过的人。
我仍然不知道为什么最近没有被上面的代码所吸引,但替代方法对我来说非常有效。