【发布时间】:2013-10-23 17:15:17
【问题描述】:
Youtube 为不存在的缩略图返回 404,但它也返回有效的图像数据(损坏的视频缩略图),因此用 Image 检查它不起作用,不会调用 onerror:
var img = new Image();
img.onload = function() { alert("found")};
img.onerror = function() { alert("not found") };
img.src = "http://img.youtube.com/vi/aaaa/1.jpg";
运行时会显示“找到”。有没有办法检测404是否真的可以加载图片数据?
如果可以检测到链接返回标准的 youtube“破碎视频”缩略图数据,也很好。
【问题讨论】:
-
您可以通过 HTTP 标头完成此操作,但这会花费您往返的费用。 stackoverflow.com/questions/220231/…。 ps;您可以通过 404 的 http 响应代码和 image/jpeg 的内容类型来识别它。
-
@Marvin Smit:但是我必须向 youtube 发出 AJAX 请求,不是吗?因为我需要 youtube 图片的标题,而不是当前文档的标题。由于同源策略限制,我无法向 youtube 发送 ajax 请求。
-
只有当您可以控制“Access-Control-Allow-Origin”标头时才有可能,这可能是额外往返行程旁边的无选项,这很可能代价高昂。
标签: javascript http-status-code-404 thumbnails