项目场景:
很简单的东西,就是在本地新建文HTML img标签调试读取图片,然后在浏览器打开
<img src="C:\3.jpg">
问题描述
本以为一切顺利的时候问题来了,浏览器不输出那张图片,路径也是正常的,瞬间懵逼了
在其他电脑上调试都没问题,甚至怀疑过系统问题。。。。然后发现手打路径可以正常访问,右键属性复制的不行,就一直在找原因,然后试着试着发现手写也不行了,复制的也不行了。。。。
原因分析:
本以为是复制的和手打的不一样,还专门去做了字符串字节比对,发现确实手打的要少一个字节,但后来手打的和复制的都不行也就没去继续研究了问题一定在其他地方,甚至怀疑过图片的权限问题。。。
解决方案:
果断打开开发者调试工具查看图片的URL
- 发现图片的URL不对,其中夹杂着一个奇怪的encodeURI编码,原来就是这个东西导致图片无法访问。
- 经调查这个特殊字符叫 Zero-width space,简称 ZWSP,中文名 零宽空格;它是一种不可打印的Unicode字符,就是说一般情况 肉眼看不见 ,但是当它变成URL的一部分,就会变成 %E2%80%AA ,使你的URL错误,请求的时候就会报 404.