ie8坑

起因:项目已经因为要兼容IE8用JQ(之前vue)重写了,但是依然在ie8下报错,修复过程中发现,异常的艰难


1:webpack使用es3ify-loader处理js,因为:a.default会报错

原理:IE8的js里关键字:default,class,就是不能用obj+ . 访问,必须用obj['default']


2: webpack打包会在es6模块的开头写object.defineproprety,避免使用es6module。。。。

原理:这个跟浏览器内核有关系,其实就是IE8没有实现所有的ES5标准,defineproprety就是其中一个

3:forEach兼容polyFill

原理:这个跟浏览器内核有关系,没为什么,就是IE8没有实现这个方法

4:nav等html5标签不适用

为什么IE8不支持全部html5标签(header还是支持了的)? 没为什么,就是不支持

5:如果要操作dom,尤其是便利子nodeList ,chrome51以下都需要:

!NodeList.prototype.forEach && (NodeList.prototype.forEach = Array.prototype.forEach)

猜你喜欢

转载自blog.csdn.net/wmwmdtt/article/details/80311688