小编php*_*ils的帖子

破碎的Youtube缩略图不会触发错误回调

如果图像是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)

javascript youtube image cors

5
推荐指数
1
解决办法
1185
查看次数

标签 统计

cors ×1

image ×1

javascript ×1

youtube ×1