Часть веб-сайта, над которым я работаю, - это страница с видео. Я извлекаю видео из аккаунта YouTube, используя API данных YouTube. Захват видео в произвольном порядке и без сортировки работает нормально, но когда я пытаюсь отсортировать их по категориям, у меня возникают проблемы. Допустим, есть три категории: фрукты, овощи, домашние животные. Вместо того, чтобы захватывать все видео сразу, я хочу захватить все видео с тегом Fruit и добавить их к <ul id="Fruit">
. Затем запросите все видео с тегом «Овощ» и т. Д.
Когда я начинал, у меня было предупреждение браузера, когда он закончил получать запрос и затем добавлял соответствующий список. После того, как я снял предупреждение, оно все еще работало, но не так, как я ожидал. Либо петля продвигается слишком быстро, либо вообще не продвигается, но я не могу определить ошибку. В итоге все видео попадают в один список, <ul id="Vegetable">
.
Обратите внимание: я использую плагин с именем jGFeed, который оборачивает функцию jQuery getJSON, поэтому я считаю, что вы можете обращаться с ним так же.
var videoCategories = ['Fruit', 'Vegetable', 'Pets'];
for (var i = 0; i < videoCategories.length; i++) {
var thisCategory = videoCategories[i];
$.jGFeed('http://gdata.youtube.com/feeds/api/users/username/uploads?category='+thisCategory,
//Do something with the returned data
function(feeds) {
// Check for errors
if(!feeds) {
return false;
} else {
for(var j=0; j < feeds.entries.length(); j++) {
var entry = feeds.entries[i];
var videoUrl = entry.link;
$('ul#'+thisCategory).append('<li><a href="#" id="'+videoUrl+'">'+entry.title+'</a></li>');
}
});
}