今天改BUG,改了半个多小时,毫无头绪。同样是谷歌没问题,IE有问题!!
传送门
form表单实现文件上传的三种方式(适用于IE9)
Vue在IE9中兼容上传 关于X-Frame-Options头
Vue项目中文件上传兼容IE9
前辈来了在浏览器按了下F12查看代码,结果就正常了,瞬间我俩二脸懵逼,难道页面加载还要看肤色?
后来经过查询了解到是console这个对象这个对象在搞怪,上下文中没有这个对象,源代码中有利用该对象写日志的,而且这句代码正好在Datatable语句的第一句,导致关键数据无法加载下来。
排查思路
思路一
- 代码里是否用到console对象 某些版本的ie 不开控制台 是没有这个对象的
- 最好都去掉 或者你可以用try catch捕获异常并忽略掉 或者检测浏览器版本低版本ie不调用console
思路二
问题描述:F12开发模式正常,普通模式就不行
核对了IE的版本,都是IE11。
最后的解决方法:
通过在html的head标签下添加默认渲染版本设置,达到了正常效果。
<meta http-equiv="X-UA-Compatible" content="IE=10" />
通过以上代码,设置默认使用IE10内核进行渲染,防止高版本IE使用低版本内核导致的F12开发模式正常,普通模式就不行的问题。
思路三
各个版本间的兼容问题
一般,我们会对各个版本所支持的一些特性进行兼容处理。
比如let str = 'aaa';在IE10及以下版本的浏览器上就会报错,所以我们需要改为var str = 'aaa';。
通常,此类兼容性问题还是比较好定位和处理的,会后明显的报错提示,就不过多阐述了。