利用onerror 事件处理img标签中的src图片加载失败

简介: 利用onerror 事件处理img标签中的src图片加载失败

如果 img标签中的src图片logo.png加载失败,原来的图片位置会被error.png 替换

<img src="logo.png" onerror="handleImageError()" />
<script type="text/javascript">
  function handleImageError() {
    console.log(event);
    var img = event.target;
    img.src = "error.png";
    // 控制它不循环;
    img.onerror = null;
  }

如果logo.png不存在会触发 onerror事件,指定图片error.png 去替补,

如果替补图片error.png 还不存在,还会继续触发onerror事件,

需要使用img.onerror=null 取消事件处理

Vue处理方式

<template>
  <img v-bind="$attrs"
    v-on="$listeners"
    @error="handleError" />
</template>
<script>
/**
 * 有错误处理的图片
 */
export default {
  name: "MoImage",
  data() {
    return {
      // 默认值
      defaultImage: require("@/assets/image/image-default.png"),
    };
  },
  methods: {
    // 错误值处理
    handleError(event) {
      event.target.src = this.defaultImage;
      // 控制不要一直跳动
      event.target.onerror = null;
    },
  },
};
</script>

参考

img标签的onerror事件

相关文章
|
7月前
|
Web App开发 JavaScript 前端开发
使用 JS 实现在浏览器控制台打印图片 console.image()
在前端开发过程中,调试的时候,我们会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。 虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个 console.image() 呢?
148 1
使用 JS 实现在浏览器控制台打印图片 console.image()
|
7月前
|
JavaScript 前端开发
详尽分享解决img的src属性为空时会有边框的情况
详尽分享解决img的src属性为空时会有边框的情况
272 0
|
8月前
图片加载失败时怎样替换?
图片加载失败时怎样替换?
|
8月前
|
JavaScript
js判断图片是否加载完成
js判断图片是否加载完成
88 0
|
JavaScript
利用onerror 事件处理img标签中的src图片加载失败
利用onerror 事件处理img标签中的src图片加载失败
232 0
|
JavaScript
vue 里 onresize 事件被覆盖,以及怎么实现 resize 防抖、移除 resize 事件?
vue 里 onresize 事件被覆盖,以及怎么实现 resize 防抖、移除 resize 事件?
513 0
|
JavaScript
Element UI - el-image 图片初始化加载爬坑
Element UI - el-image 图片初始化加载爬坑
2909 0
Element UI - el-image 图片初始化加载爬坑
|
前端开发
前端表格内嵌套el-image无法加载图片解决办法
前端表格内嵌套el-image无法加载图片解决办法
712 0
|
JavaScript 前端开发
JS判断图片加载完成方法
javascipt原生方法 选取指定ID的图片,通过onload指定回调方法,在图片加载完成后弹出“图片加载已完成”字样提示。 document.getElementById("pic1").onload = function () { alert("图片加载已完成"); } 优点:简单易用,不影响HTML代码。
1655 0