onerror 属性指定当图像无法加载时要采取的操作。在本例中,您提供了代码来修改 src 属性,并将有问题的图像替换为默认图像。
但是,您遇到了以下问题:此代码无法在 Chrome 和 Mozilla 中运行,尽管可以在 IE 中运行。
答案在于,如果 onerror 处理程序中提供的备份 URL 也无效,现代浏览器会多次触发错误事件。这会导致无限循环,因为事件被重复触发并且 src 属性不断被修改。
要解决此问题,您可以按如下方式修改代码:
<img src="invalid_link" onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';">
通过设置 this.onerror=null 可以防止再次触发错误事件。这反过来又确保了图像不会被无休止地替换。
您还可以参考 http://jsfiddle.net/oLqfxjoz/ 的现场演示来可视化实现。
以上是为什么我的 onerror 图像替换代码在 Chrome 和 Mozilla 中失败?的详细内容。更多信息请关注PHP中文网其他相关文章!