如果图像是404,图像错误回调会触发,但主机还是会返回图像吗?
我想在客户端确定Youtube缩略图是否有效,然后再将URL提交给服务器.通常,您可以生成缩略图URL,而无需使用格式查询其APIhttp://img.youtube.com/vi/**ID**/maxresdefault.jpg
有些视频没有高分辨率缩略图,例如,这个:http: //img.youtube.com/vi/ty62YzGryU4/maxresdefault.jpg
但是,总是存在质量较低的缩略图:http: //img.youtube.com/vi/ty62YzGryU4/default.jpg
理想情况下,我可以通过此代码片段检测缩略图是否加载,在加载有效缩略图时会调用"done":
var id = "ty62YzGryU4"
var tries = 0
var thumb = "http://img.youtube.com/vi/" + id + "/maxresdefault.jpg"
var img = new Image ()
img.onload = function(){ console.log('ok'); done(id, thumb) }
img.onerror = function(){
switch (tries++){
case 0:
img.src = thumb = "http://img.youtube.com/vi/" + id + "/hqdefault.jpg"
break;
case 1:
img.src = thumb = "http://img.youtube.com/vi/" + id + "/default.jpg"
break;
case 2:
done(id, thumb)
break;
}
}
img.src = thumb …Run Code Online (Sandbox Code Playgroud)