如果图像工作正常,为什么 img onerror 处理程序会执行
Why would and img onerror handler execute if image works fine
我已经为某些图像实现了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的服务,以便我可以检查这些内容并返回重定向到重定向URL。这工作得很好。我刚刚测试了它,它记录得很好。
但问题是当我将其上传到生产环境并且日志启动时。日志中有 200 张图像。但是其中只有 4 个真正被删除,链接不起作用。其他的都完美地工作了。
可能是什么原因造成的?
图像加载错误很难管理,因为有时错误会导致 fr 缓存问题,有些连接,其他时间是由于 404 错误。不同的浏览器以多种方式管理这些错误
恕我直言,管理图像加载错误的最佳方法是使用 jquery 的 ImagesLoaded 插件
http://imagesloaded.desandro.com/
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理Ajax.BeginForm()OnError OnFailure回调
- 如果图像工作正常,为什么 img onerror 处理程序会执行
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- 如何在使用 window.onerror 处理语句 1 中的错误时继续执行语句 2
- 窗口.Onerror函数在不同浏览器上的处理方式不同
- 将onerror事件处理程序附加到图像上在IE中不起作用
- php echo中的OnError图像处理
- Ajax onerror处理程序不工作
- 窗口.onerror不能在移动设备上工作——我应该如何处理未处理的异常
- 是什么触发对象标签的onerror事件处理程序?
- 为什么chrome仍然记录404(未找到)错误,即使在onError处理程序捕获异常后,丢失的图像