前言
最近碰到一个浏览器兼容问题,花费了大半天时间研究,还未曾解决,十分恼人,特此记录,如果有谁也碰到过这个问题,希望可以共同探讨一番。
正文
一、问题背景以及问题描述
话说,在某个医院,他们的操作系统有win7的,xp的,win7还是32位的。为了兼容,不得不采用360的极速浏览器作为统一的浏览器。如果都采用版本高些的谷歌浏览器该多好。都知道,360浏览器有两个模式,一个兼容模式,用的IE内核,一个极速模式,用的谷歌内核。按理说用的谷歌内核,谷歌能使用的,360的应该也没啥问题才对,偏偏就出了个灵异事件。安装的同样的浏览器,有的电脑的360访问系统,就没有图标显示,有的电脑的就有。都是访问的同一个应用,那问题是该出在哪里。同一个系统,用360极速浏览器访问图标就不显示,换成谷歌浏览器,就是一点问题都没有,那问题是该出在哪里。
二、异常信息以及处理过程
异常显示如下
正常显示如下
控制台异常信息如下
字体文件显示如下
1、根据Failed to decode downoaded font信息查询,发现一般是讲静态资源文件被拦截,提示404,配置spring拦截规则。可是此处未见404.
又提到字体报错,是由于maven的filter解析font文件破坏二进制文件格式导致的,需要在pom.xml中做相应配置即可。可该工程压根儿就没用maven,直接lib jar包引入的。直接打的包
该处理方式来源: 浏览器报警告,Failed to decode downloaded font和OTS parsing error: Failed to convert WOFF 2.0 font to SFNT
2、继续查找资料,有提到是字体文件格式造成,可以去网上解析查看字体是否正常
将通过浏览器下载下来的字体文件传到该网站上,解析,并无异常
该处理方式来源:Failed to decode downloaded font 、字体文件加载不上,提示:Failed to decode downloaded font 、https://blog.csdn.net/weixin_42707181/article/details/90721893
3、还有说要自定义MIME类型的
使用的是tomcat部署,打开tomcat目录下的conf/web.xml,打开发现,woff和woff2的配置,本来就存在
该解决方案来源:chrome浏览器警告:Failed to decode downloaded font
4、添加springmvc.xml的取消拦截配置,与方案一类似。
按示例进行设置后,并未解决问题
该解决方案来源:Failed to decode downloaded font 、【SpringMVC】SpringMVC配置拦截器 mvc:exclude-mapping 报错
5、排查是否是操作系统影响,win7 32位和win7 64位,软件的影响。经查,360急速浏览器为32位软件,谷歌浏览器分32位 64位的。并且使用Vmware安装win7 32位系统,加360极速浏览器,并未重现该问题。
结语
浏览器兼容性问题,太坑了,这水太深了。特别是医院操作系统一般都比较老。我太难了,这么一个图标不显示的问题,折腾了大半天,太浪费时间了。只能让极速浏览器看不了的电脑,装谷歌了,至于xp的我也没招了。调试错误最怕的就是,开发环境没问题,生产环境有问题,而且还重现不了问题的场景,找不到根源在哪里。头大。。大。。。大。。。。
还没有评论,来说两句吧...