超实用,解决img标签src绑定了正确地址后,图片有时候不显示问题
今天做项目的时候,遇到一个比较奇葩的问题,将后台返回的图片地址链接绑在img标签的scr上的时候,有时候会偶发的不显示,但是将后台返回的地址复制到浏览器,又能直接打开,我跑过去问后端,他说他知道这个问题,也说了半天,反正意思就是,这个问题以前就存在,确实后台存在问题,但是因为某些原因,他解决不了,看看我们前端能不能曲线救国,我晕,那没办法了,测试已经把bug提给我了,只能我自己想办法了;出于对公司信息安全的考虑,我就不贴我在公司写项目代码了,我下面写个小demo来说明解决这种情况的原理,具体使用请根据大家的项目自行变通:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <!-- 因为这个图片地址是没问题的 --> <!-- 如果后台出现问题, 就会走下面的img1.onerror方法--> <img id="img1" src="http://p4.so.qhimg.com/t018349127914f495ce.jpg" alt="" srcset=""> </body> </html> <script> var img1 = document.getElementById('img1') var i = 0 //初始化图片加载失败请求次数 // 图片一旦加载成功了的时候,就会调用这个函数 img1.onload = function (param) { console.log('图片加载成功') } //当每次图片加载失败了,都会调用这个函数 img1.onerror = function (err) { if(i>10){ //图片加载失败函数是否调用超10次?如果超10次,就return //避免无限制的发送请求 return } //在链接后面拼接'?'+Math.random() 是为了每次请求清除图片缓存, //避免再次请求的时候调用了上次无用的地址 err.target.src = "http://p4.so.qhimg.com/t018349127914f495ce.jpg"+'?'+Math.random(); i++ } </script>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从0到1使用Kubernetes系列(二)——安装工具介绍
本文是Kubernetes系列的第二篇,将介绍使用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用。 主要内容包括: Kubeadm Kubeadm是什么 Kubeadm的目标 Kubeadm的子命令 Kubeadm的安装 CFSSL CFSSL的安装 Ansible Ansible是什么 Ansible的基本架构 Ansible功能特性 Ansible的安装 总结user-gold-cdn Kubeadm Kubeadm是什么 Kubeadm是一个提供Kubeadm init 和 Kubeadm join命令,用于创建Kubernetes集群的最佳实践“快速路径”工具。 Kubeadm可以在多种设备上运行,可以是Linux笔记本电脑,虚拟机,物理/云服务器或Raspberry Pi。这使得Kubeadm非常适合与不同种类的配置系统(例如Terraform,Ansible等)集成。 开发者可以在支持安装deb或rpm软件包的操作系统上非常轻松地安装Kubeadm。SIG集群生命周期SIG Cluster Lifecycle Kubeadm的SIG相关维护者...
- 下一篇
腾讯 Tars 开源 Go 版本 Tars-Go,并发性能比 gRPC 高 5 倍
近日,腾讯宣布正式开源 Tars 的 Golang 版本 Tars-Go,其并发性能比 gRPC 的高 5 倍。 Tars 是腾讯开源的一款微服务框架,它于去年 4 月份开源,并于今年 6 月捐赠给了 Linux 基金会。Tars 为用户提供了涉及到开发和运维的一整套解决方案,帮助一个产品或者服务快速开发、发布、部署、上线和维护。它集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建稳定可靠的分布式应用,并实现完整有效的服务治理。经过一年多的发展,目前 Tars 已经被许多企业使用,如阅文集团、虎牙直播、科大讯飞,优品财富、龙图游戏和金太阳教育等。 9 月 15 日,腾讯宣布正式开源 Tars 的 Golang 版本 Tars-Go。编者从 Tars-Go 的开源公告中了解到其技术架构、性能数据与相关技术细节,本文参考Tars 开源团队核心成员陈明杰的演讲 PPT 《亿级规模高可用架构源码剖析——腾讯 Go 语言开发框架 TARS-GO》 进行了整理。 项目地址:https://github.com/Tar...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长