javascript - Wonder Plugin Carousel 来自 Youtube 崩溃的多个播放列表请求
问题描述
我正在使用 Wonder Plugin Carousel 版本 15.1。我正在尝试从我的 youtube 频道中检索超过 15 个的播放列表。
我正在使用轮播播放列表集成,并且已经在我的网页上显示了 2 个频道的播放列表。但是,当我尝试像我一样将第三个频道的播放列表添加为单独的轮播时,它会引发错误。
我检查了控制台并看到以下错误:
2wonderplugincarousel.js:216 Uncaught TypeError: Cannot read property 'replace' of undefined
at Object.success (wonderplugincarousel.js:216)
at i (jquery.js:2)
at Object.fireWith [as resolveWith] (jquery.js:2)
at y (jquery.js:4)
at XMLHttpRequest.c (jquery.js:4)
这是 wonderplugincarousel.js 获取播放列表参数的样子
getYouTubePlaylist: function(youtubeapikey, youtubeplaylistid, youtubeplaylistmaxresults, index, insert_index, onsuccess, instance, pagetoken) {
var youtube_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=" + youtubeplaylistid + "&key=" + youtubeapikey;
if (youtubeplaylistmaxresults)
if (youtubeplaylistmaxresults > 50)
youtube_url += "&maxResults=50";
else
youtube_url += "&maxResults=" + youtubeplaylistmaxresults;
if (pagetoken)
youtube_url += "&pageToken=" + pagetoken;
var all_done = true;
$.getJSON(youtube_url, function(data) {
if (data && data.items) {
var original_item = $("li.amazingcarousel-item", instance.container).eq(index);
for (var i = 0; i < data.items.length; i++) {
var video_id = data.items[i]["snippet"]["resourceId"]["videoId"];
var thumbnail = "https://img.youtube.com/vi/" + video_id + "/0.jpg";
var image = "https://img.youtube.com/vi/" + video_id + "/0.jpg";
if (data.items[i]["snippet"]["thumbnails"] && data.items[i]["snippet"]["thumbnails"]["maxres"])
image = data.items[i]["snippet"]["thumbnails"]["maxres"]["url"];
var video = "https://www.youtube.com/embed/" + video_id;
var title = data.items[i]["snippet"]["title"];
var description = data.items[i]["snippet"]["description"];
var new_item = original_item.clone();
new_item.removeAttr("data-youtubeapikey").removeAttr("data-youtubeplaylistid").removeAttr("data-youtubeplaylistmaxresults");
var item_html = new_item.html().replace(/data-srcyt=/g, "src=").replace(/__IMAGE__/g, image).replace(/__THUMBNAIL__/g, thumbnail).replace(/__VIDEO__/g, video).replace(/__TITLE__/g, title).replace(/__DESCRIPTION__/g, description);
new_item.html(item_html);
if (instance.options.lightboxobject && new_item.find("a").hasClass("wondercarousellightbox"))
new_item.find("a").each(function() {
instance.options.lightboxobject.push(this);
$(this).off("click").click(instance.options.lightboxobject.clickHandler)
});
$("li.amazingcarousel-item", instance.container).eq(insert_index).after(new_item);
insert_index++
}
}
if (data && data.nextPageToken && youtubeplaylistmaxresults && youtubeplaylistmaxresults > 50) {
all_done = false;
instance.getYouTubePlaylist(youtubeapikey, youtubeplaylistid, youtubeplaylistmaxresults - 50, index, insert_index, onsuccess, instance, data.nextPageToken)
}
}).always(function() {
if (all_done) {
$("li.amazingcarousel-item", instance.container).eq(index).remove();
onsuccess(instance)
}
})
},
我预计会显示我频道的所有播放列表,总共可能超过 50 个视频。
youtube 是否有任何限制以获取包含太多视频的结果?我还尝试通过插件增加总视频响应,但没有任何改变。
解决方案
我有同样的问题,这可能是由于 Youtube V3 Api 的配额使用引起的。
这是链接:https ://developers.google.com/youtube/v3/getting-started#quota
推荐阅读
- python - 如何修复 ValueError:odoo 中不存在字段“活动”
- numerical-integration - Runge kutta (RK4) 表达式如何扩展?
- configuration - Azure 持久函数应用设置
- python - MFRC522 RFID Python3 脚本无法启动:没有这样的文件或目录
- html - 按钮和输入字段不是在一行中
- javascript - 如何验证表单中的角度反应下拉
- python - MultiFileField 不返回文件,返回 _str_
- python - 如何使用正则表达式在文件夹中查找文件并将它们移动到不同的文件夹
- java - com.amazonaws.services.s3.model.PutObjectRequest 中使用的文件传输协议
- javascript - javascript在动态内容中使用反引号转义冒号和数字