为什么我的 YouTube 代码不适用于所有播放列表?
Why does my YouTube code not work with all playlists?
Alum Songs 播放列表完美运行,但不幸的是,相同的代码不适用于另一个播放列表 ID
医疗动画播放列表不工作
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/B2A4E1367126848D?v=2&alt=json&callback=?';
var videoURL = 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data = "";
$.each(data.feed.entry, function(i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var vid = item.media$group.yt$videoid.$t;
var url = videoURL + videoID;
var vidtitle = item.title.$t;
var vidviews = item.yt$statistics.viewCount;
var content = item.media$group.media$description.$t;
var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";
list_data += '<a href=' + url + '><table width="100%"><tbody><tr><td width="110"><img height="150" width="150" alt=' + feedTitle + ' src=' + thumb + ' style="padding: 5px;"></td><td><h5><a name="p4">' + vidtitle + '</a></h5><p><b>Views:-</b> <b>' + vidviews + '</b> </p><section class="toggle active"><label>Case Study <i class="icon icon-youtube-play"></i></label><div class="toggle-content"><p>' + content + '</p></p></div></section></td></tr></tbody></table></a><hr/>';
});
$(list_data).appendTo(".cont");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="cont">
</ul>
原因是该视频没有观看次数,因此 item.yt$statistics
某些视频未定义。删除这些变量,或在访问 viewCount
.
之前检查未定义的值
我还注意到提供的 jsFiddle 不包括 jQuery,所以我在下面的 jsFiddle 中更新了它。
Alum Songs 播放列表完美运行,但不幸的是,相同的代码不适用于另一个播放列表 ID
医疗动画播放列表不工作
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/B2A4E1367126848D?v=2&alt=json&callback=?';
var videoURL = 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data = "";
$.each(data.feed.entry, function(i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var vid = item.media$group.yt$videoid.$t;
var url = videoURL + videoID;
var vidtitle = item.title.$t;
var vidviews = item.yt$statistics.viewCount;
var content = item.media$group.media$description.$t;
var thumb = "http://img.youtube.com/vi/" + videoID + "/default.jpg";
list_data += '<a href=' + url + '><table width="100%"><tbody><tr><td width="110"><img height="150" width="150" alt=' + feedTitle + ' src=' + thumb + ' style="padding: 5px;"></td><td><h5><a name="p4">' + vidtitle + '</a></h5><p><b>Views:-</b> <b>' + vidviews + '</b> </p><section class="toggle active"><label>Case Study <i class="icon icon-youtube-play"></i></label><div class="toggle-content"><p>' + content + '</p></p></div></section></td></tr></tbody></table></a><hr/>';
});
$(list_data).appendTo(".cont");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="cont">
</ul>
原因是该视频没有观看次数,因此 item.yt$statistics
某些视频未定义。删除这些变量,或在访问 viewCount
.
我还注意到提供的 jsFiddle 不包括 jQuery,所以我在下面的 jsFiddle 中更新了它。