【问题标题】:How to reload an img without showing broken image on errors如何在不显示错误图像的情况下重新加载 img
【发布时间】:2017-04-15 02:26:11
【问题描述】:

我正在尝试找到一种方法,我可以每隔一秒左右重新加载一次图像......如果图像无法加载一次(由于 404 错误或其他类似错误)...... . 直到下次重新加载时才显示损坏的图像。我考虑过隐藏来进行加载尝试,如果加载成功,请更新显示的图像。这看起来很笨拙。有没有人有其他想法?

【问题讨论】:

  • ajax - 测试状态码是否 == 200 然后显示图片
  • @bksl,你愿意扩展这个想法吗?您是否建议将二进制数据转储到 img 对象中?
  • 你用过ajax吗?
  • 函数 loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send(); }

标签: javascript jquery html image


【解决方案1】:

试试onerror

您可以向它传递一个函数并处理图像加载失败。

【讨论】:

  • 根据 W3,img 对象不应该有 onerror 事件...其次,如果 onerror 触发...图像已经被损坏的图像图标替换。
  • @TheCompWiz 根据 Mozilla 开发者网络,onerror 是图像元素的有效事件。我为您创建了一个小提琴来测试jsfiddle.net/thbp94/q3e29p58。用正确的图像固定图像。
  • 您未能理解问题所在。我不需要加载另一个错误的图像...我希望当前图像不被损坏的图标替换...而是保留以前加载的图像。
猜你喜欢
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 2018-03-06
  • 1970-01-01
相关资源
最近更新 更多