【问题标题】:on error not firing for youtube images错误未触发 youtube 图像
【发布时间】:2017-07-19 20:43:38
【问题描述】:
$("#myimg").on('error', function () {
console.log("image load error");
}).attr("src", "http://img.youtube.com/vi/6pxRHBw-k8M/DOESNOTEXIST.jpg");
on error 永远不会触发,在 Chrome 和 Firefox 上测试
【问题讨论】:
标签:
jquery
youtube
youtube-javascript-api
【解决方案1】:
如果您尝试从 youtube 加载错误图片,它会返回 404,但也会返回图片。所以浏览器不认为这是一个错误。使用 XMLHttpRequest 检查它(在 Chrome、Firefox、IE、Edge 中测试)
var xhr = new XMLHttpRequest();
var img = $("#myimg");
xhr.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 404) {
console.log("image load error");
}
}
xhr.open('GET', img .attr('src'));
xhr.responseType = 'blob';
xhr.send();