【问题标题】:Youtube Player API Throws 404Youtube 播放器 API 抛出 404
【发布时间】:2014-08-02 09:22:26
【问题描述】:
这已经困扰我一段时间了,我正在使用这个通用脚本来创建一个播放器
var player = new YT.Player(videoArray[0], { videoId : videoArray[0], events : { 'onStateChange' : onPlayerStateChange } });
我只用一个简单的 console.log 设置了回调函数,问题是当我改变控制台抛出的玩家状态时
https://www.youtube.com/get_video?noflv=1&video_id=ghUA.... 从文件 html5player-en_US-vfloyxzv5.js:39 获取 404,我认为它是由 YouTube Iframe API 加载的。
我们将不胜感激任何想法或可行的解决方案。
【问题讨论】:
标签:
javascript
html
api
youtube
http-status-code-404
【解决方案1】:
遗憾的是,这是您使用 Youtube Player API 必须处理的众多小事之一。 我认为没有任何解决方案,我们只能等待 Youtube 修复。
已经创建了一个错误报告,请随时vote for it。
Youtube 播放器每周二更新。希望这会在有一天得到解决。
【解决方案2】:
我发现我做错了什么,我发布这个也许它会帮助别人。
由于 videoArray 保存了 jQuery 对象,所以我使用这段代码让它全部工作。
if(isYouTubeVideo) {
videoID = iframeSrc.substr(baseUrlLength);
}
videoArray[i] = {};
videoArray[i].id = videoID;
jQuery.ajax({
dataType: 'JSON',
url: 'https://gdata.youtube.com/feeds/api/videos/' + videoID + '?v=2&alt=json'
})
.done(function(data) {
videoArray[i].title = data.entry.title.$t;
});
jQuery(this).attr('id', videoID);
playerArray[i] = new YT.Player(videoArray[i].id, { event : //Events here})
我希望这对某人有帮助:)
【解决方案3】:
我在某些视频中得到了这个。根据我的经验,get_video 404 无关紧要 - 视频仍然可以正确加载。
不过有一个随机警告;如果您在连接到 Mac Safari Web Inspector 的 iPhone 上运行此程序,则 404 会导致视频停止加载。这给我带来了数小时的乐趣!