IE8浏览器的部分兼容性问题总结
1. 兼容性问题的根本因素 浏览器最重要或者说核心的部分是 “Rendering Engine” ,可大概译为 “ 渲染引擎 ” ,所谓的浏览器内核也就是浏览器所采用的 渲染引擎 ,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。 前段时间进行了前端网页的 bug 修改,发现多数的 bug 均发生在 IE8 浏览器上,经过查证发现: IE8 的 JavaScript 引擎是 Jscript , IE9 开始用 Chakra ,这两个版本区别很大,这就造成了 IE8 对于个别属性、方法的不支持或是显示效果上的差异,这里是我遇到的一些 IE8 上比较典型的兼容性问题及其解决办法。 2. indexOf 1 2 2.1 问题 前端代码中有多处地方使用 javascript 数组的 indexOf 方法,用于查询某数组中是否存在某元素,然而测试,在 IE8 不支持数组元素的 indexOf ()方法。如下 var location = ['1','2','3']; var serverData = [‘1’ , ’4’, ‘5’]; for( var i = 0; i < serverData.length;