我已经为某些图片实现了onerror属性,以便检测我网站中缺少的图片。
这是代码:
<script>
function imageError(element) {
var noPicUrl = "${noPicUrl}";
var imageFailUrl = "/site/image/fail?mediaUrl=" + encodeURIComponent(element.src) + "&redirectUrl=" + encodeURIComponent(noPicUrl);
element.onerror = "";
element.src = imageFailUrl;
}
</script>
<img src="${poiPic}" onerror="imageError(this);"/>
如您所见,当图像失败时,将调用以下URL:
/site/image/fail?mediaUrl=" + encodeURIComponent(element.src) + "&redirectUrl=" + encodeURIComponent(noPicUrl)
这是一项保存失败的mediaUrl的服务,以便我可以检查这些并返回重定向到redirectUrl。这工作得很好。我只是测试了它并且它完美地记录了。
但问题是当我将其上传到生产并且日志开始时..日志中有200张图像。但其中只有4个被删除,链接无法正常工作。其他的只是完美的工作..
导致这种情况的原因是什么?
答案 0 :(得分:0)
图像加载错误很难管理,因为某些时候错误发生了缓存问题,连接的东西,其他时间是由于404错误。不同的浏览器以很多方式管理这些错误
恕我直言,管理图像加载错误的最佳方法是使用jquery的ImagesLoaded插件