javascript - Img src地址不存在时 onerror替换默认图片 怎样去掉控制台的404错误信息(有意思的一个过程)

 叶蕊2502860197 发布于 2022-11-16 18:33

使用Img标签的时候,src图片地址不存在时,使用onerror替换为一张默认图片,但控制台会打印原来的图片地址找不到的错误。如图:

怎么去掉这个。强迫症。

11.24补充问题说明:

原先这个问题可能存在一定误导性,重新编辑说明一下。
正常情况下,当我们访问一个图片的地址(如https://www.baidu.com/img/bd_...),会取得这个图片,但当这个图片地址如果错误时(如https://www.baidu.com/img/bd_...),页面会提示你访问的地址不存在,查看XHR,会发现是返回的一个302错误,控制不会打印错误信息,此时解决页面上破图问题就可以通过,添加onerror替换默认图片js添加image对象,onerror事件替换src等方法解决。
但是...
我请求的地址(内部地址,暂不能给出),会返回一个404错误,到404错误页面,控制台会打印错误信息,也就是错误信息时图片所在服务器给过来的。
解决办法,我也暂时没有找到,看还有木有大神指导

6 个回答
  • console.clear(
    )

    2022-11-16 19:00 回答
  • preventDeafult

    2022-11-16 19:00 回答
  • 用 rewrite 之类的技术不行吗?

    2022-11-16 19:00 回答
  • 当图片加载或者渲染出现错误时,就会抛出onerror事件。
    准确来说,在以下情况,

    1.src属性为空或者null
    2.src的地址与当前页面的地址一致
    3.在加载过程中因为某些原因崩溃
    4.图片的元数据已损坏,无法知道尺寸,并且<img>标签也没定义尺寸
    5.当前的user agent不支持该图片格式

    这时浏览器会抛出error事件,404的错误就是这时候打印的。然后才会回调
    onerror来处理error事件。

    所以说你想在onerror函数中阻止打印是不可能的,除非你可以拦截浏览器抛出error事件。

    而据目前我查的资料来看,并没有发现这样的API(如果有发现的话,告知下我~)

    所以要解决题的问题,只能用些不正常的方法

    先不添加img标签,先自己请求一次图片,如果是error则append默认图片的img标签,如果是成功的话就append所该img标签。当然,个人觉得没必要这样做。。。。。

    2022-11-16 19:00 回答
  • 把img里的src改成自定义属性_src,onerror的时候通过getAttribute和setAttribute改回来,就ok了

    2022-11-16 19:00 回答
  • 默认src为空,然后再去判断,设置正确的src

    2022-11-16 19:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有