这一直困扰我一段时间,我正在使用这个通用脚本创建一个播放器
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获取404:我认为这是由YouTube Iframe API加载的。
任何ideeas或posibile解决方案都会受到极大的影响。
答案 0 :(得分:4)
可悲的是,这是您使用Youtube Player API应对的众多小事之一。 我认为没有任何解决方案,我们只能等待Youtube修复。
已经创建了一个错误报告,请vote for it。
Youtube播放器每周二更新。希望这将固定某天。
答案 1 :(得分: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})
我希望这有助于某人:)
答案 2 :(得分:0)
我为某些视频获得此信息。根据我的经验, get_video 404并不重要 - 视频仍然可以正确加载。
但是有一个随机的警告;如果您在连接到Mac Safari Web Inspector的iPhone上运行此操作,404会导致视频停止加载。这让我有了几个小时的乐趣!