图片加载不出来,竟然是被插件给拦截掉

2,919 阅读2分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

前言

不知道大家有没有遇到过网站的图片加载不出来的情况,应该遇到过不少吧,比如有些图片是有防盗链的,放在其他网站上的话,就会显示不出来等等。下面结合自己开发的网站,遇到过网站图片没有显示出来的问题,来看看我是如何分析、定位、解决问题的。

分析问题

首先,现象就是网站上有一两张图片,没有加载出来。注意:是一两张图片,而不是所有。

作为前端的话,第一反应,当然觉得可能是控制台有报错,然后打开控制台,看到有显示报错:Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

image.png

目前英语不好的我,当然是去翻译下上面的报错,大概意思是:加载资源失败,被客户端阻止了。

那为什么会被客户端阻止了呢?是不是我的浏览器做了什么特殊处理?

此时,我想应该不是服务器的问题,不过我还是去验证下,怎么验证呢?

就是找到对应的图片地址,在浏览器上打开,我发现那个图片,是可以被正常请求的。

image.png

说明应该就是跟客户端有关,不过我也没做什么特殊处理,会不会是安装的插件做了处理,导致图片没有显示。

过了一遍自己安装的插件,插件:AdBlock — 最佳广告拦截工具,是不是这个插件,把图片当成广告,所以拦截掉了。

好家伙!的确是它把图片给拦截掉了,选择“在此网站暂停”,图片就显示出来了。

image.png

原来是我的图片名称:activity-side-ad-1.png,带有 ad 字样,所以被插件拦截掉了。

解决问题

在当前网站停止使用 adblock 等广告拦截工具(具体可以关闭插件或者设置插件白名单)。

或者作为开发者,为了避免用户使用插件拦截掉广告,可以尽量不带 ad 等等字样。

写到最后

最后想说两点:

  1. 其实有良好的英语能力,能够帮助自己走得更远
  2. 你遇到的问题,可能别人已经踩过类似的坑,没什么好担心,其次,如果网上没有解决方案,也要相信自己是有能力解决的。

完。