利用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事件

            </div>
目录
相关文章
|
Web App开发 存储 JavaScript
mac安装nvm
nvm,全称 node.js version management,就是nodejs版本管理用具,nvm可以快速切换使用不用版本的node。 nodejs,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js使用了一个事件驱动、非阻塞式I/O的模型( Node.js的特性),使其轻量级又高效 npm,Node Package Manager,nodejs 包管理工具。在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。npm 管理 nodejs 中的第三方插件 nvm 管理 nodejs 和 npm 的版
3228 1
mac安装nvm
|
5月前
|
机器学习/深度学习 人工智能 API
AI 发展 && MCP
AI发展——计算机视觉、ChatGPT、Sora、DeepSeek、生成式AI。什么是MCP,Prompt、LLM、Function Call、Agent、MCP是什么,各自区别;MCP如何工作,MCP架构、MCP Server工作原理,Cursor如何使用MCP,自定义MCP Server
943 46
|
资源调度 JavaScript Windows
'vue-cli-service' 不是内部或外部命令,也不是可运行的程序问题解决
【5月更文挑战第7天】'vue-cli-service' 不是内部或外部命令,也不是可运行的程序问题解决
20449 3
|
存储 负载均衡 云计算
抖音服务器是什么样的
抖音服务器采用分布式云计算架构,遍布全国多个数据中心,如北上广、四川和贵州等地,利用高带宽、云集群并发及OSS、CDN、SLB等技术,确保大量用户同时流畅观看视频。这不仅需要强大的服务器群支持,还需精准的负载均衡与内容分发网络,保障用户体验。
689 1
|
JavaScript 前端开发 UED
【源码分享】简单的404 HTML页面示例,该页面在加载时会等待2秒钟,然后自动重定向到首页
【源码分享】简单的404 HTML页面示例,该页面在加载时会等待2秒钟,然后自动重定向到首页
1695 0
|
Web App开发 JavaScript 前端开发
nvm 安装、卸载与使用(详细步骤)
nvm 安装、卸载与使用(详细步骤)
4902 0
|
Kubernetes Cloud Native Linux
Helm Chart 多环境、多集群交付实践,透视资源拓扑和差异
在本文中,我们将介绍如何通过 KubeVela解决多集群环境下 Helm Chart 的部署问题。如果你手里没有多集群也不要紧,我们将介绍一种仅依赖于 Docker 或者 Linux 系统的轻量级部署方式,可以让你轻松的体验多集群功能。当然,KubeVela 也完全具备单集群的 Helm Chart 交付能力。
3937 67
Helm Chart 多环境、多集群交付实践,透视资源拓扑和差异
|
JavaScript 前端开发 Python
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)
337 0
Vue3实现列表的拖拽切换
Vue3实现列表的拖拽切换
239 0
|
存储 Dart JavaScript
Flutter笔记:聊一聊依赖注入(上)
Flutter笔记:聊一聊依赖注入(上)
784 0