以下是我在开发中所遇到的ie兼容问题,原因有以下几种
1.是否有使用localStorage的相关插件,ie对localStorage的支持不是很好。基本的原生方法可以使用,但如果过于复杂繁琐就会出问题。可以试着把相关的localStorage先注掉,看项目在ie浏览器是否可以运行来确定问题出在哪。
2.crypto-js最新版本不兼容,这个插件是对密码和信息加密用的。我开始用的是4.1以上的最新版本,ie直接白屏。其它项目用的4.0.0的版本在ie中就可以正常显示。后来我换成4.0.0版本的还是不行。可能是跟我用的是vue-cli3建的项目有关,最后我是把node-modules中crypto-js插件中的crypto-js.js文件单独拿出来引用,文件中会有很多报错,把报错的地方全部改掉就可以正常在ie中运行了。我用的ESLint校验,报错的地方加上 “// eslint-disable-next-line no-shadow-restricted-names”就可以。
3.语法错误,ie对js语法要求比较严格,对象的最后一项不能加逗号等问题,在其它浏览器会忽略掉,但在ie中就会报错。