在web项目进行浏览器兼容性测试,论坑多的,非IE系列浏览器莫属,且IE8是我们组开发的心中的痛,一提到有兼容性bug,第一反应:是不是IE的?卧槽,又是IE8!
  由于项目产品需要,管理后台和官网等web项目都需要兼容到IE浏览器,兼容到IE8以上并且是含IE8,所以每次有新功能尤其关注的是IE系列浏览器。一般情况下其他主流浏览器都问题不大,而IE浏览器不同版本也有差异,曾经掉过坑,以为IE8测完一遍后,其他9,10,11问题应该不会很大,可以放心点,时间上评估少点,结果后来发现每个IE浏览器版本发现的bug都不一样,出现的地方都不一样,让人非常忧伤。虽然尝试用浏览器兼容性工具辅助如IEtester,但效果并不高。为了以后能更好地在IE浏览器进行测试,所以网上看了相关资料,了解IE不同版本的兼容性测试点,将IE浏览器不同版本的兼容性问题进行了整理。
  IE浏览器自从IE9开始后,做了很大的改动,更符合了W3C标准,这也是为啥IE8比其他问题要更多的原因了。其中IE11已更完善,像IE11中内置了IE7-IE10的浏览器模式(按F12打开开发者工具可见),方便开发进行更低版本的调试。如下整理IE9-IE11的变更点:
  1、IE9
  · IE9 的 User-agent 字符串更改
  · 验证 JavaScript. 框架是否支持新版本
  · 空格保存和 DOM
  · 当 Window 对象属性处于孤立状态时将被删除
  · XSLT 兼容性更改
  · 不再支持 Arguments.caller
  · 数组索引处理
  · 二进制行为和 XML 架构
  · 二进制行为不再自动绑定
  · 内容属性和 DOM 属性
  · CreateElement 不再支持尖括号
  · 动态 VML 模式更改
  · 枚举 JavaScript. 属性
  · 泰语和东亚文字的字体大小
  · 函数指针方法调用
  · 从 DOM 删除 IFrame. 资源后,可释放这些资源
  · 调用的间接 eval 函数的作用域现在为全局
  · 不再支持传统 DOM 事件
  · 数学精确度和 SSE2 差异
  · MIME 类型和纯文本内容
  · MIME 类型和样式表
  · 本机 XML 对象类型和传统网站
  · NULL 协议返回值
  · 对象元素回退适用于 DOM
  · 克隆重叠元素
  · 减少 MIME 类型的安全风险
  · 圆角和传统版渐变筛选器
  · 脚本元素和事件执行
  · 样式表标题为只读
  · 表对象模型一致性
  · 文本布局和自然指标
  2、IE10
  · HTML5 Quirks 模式
  · IE10 user-agent 字符串
  · 不再支持 DX 筛选器
  · 不再支持元素行为和 HTC
  · ASP.NET 无法检测
  · 面向 Web 开发人员的浏览
  · 不再支持条件注释
  · 自定义下载体验
  · 使用 JavaScript 处理夏令时
  · 插件和 ActiveX 在 Windows 8 和 Windows 8.1 中受支持
  · 拼写检查和自动更正支持
  · 不再支持 VML
  · 不再支持 XML 数据岛
  3、IE11
  Web 开发人员可获取 W3C DOM4 突变观察者的支持,从而帮助监视需要观察和跟踪哪些 DOM 突变
  · 已弃用文档模式
  · Internet 区域不再支持 CSS 表达式
  · 复选框和单选按钮布局默认值
  · 跨浏览器插件检测
  · 默认字体更改
  · 默认情况下启用增强保护模式 (EPM)
  · 弹性框(“Flexbox”)布局更新
  · 突变观察者
  · 指针事件更新
  · 伪装点击测试在 IE11 边缘模式中已禁用
  · 边缘模式不再支持 VBScript
  · Window 事件行为已发生更改
  以上是对不同版本的变更做个整理,对于Web开发的前端来说,了解不同版本的变化尤其重要,而对于我们Web测试来说,如果也能多去了解根源的变化,相信也能有更好地帮助,虽然我也只是在浏览器兼容性测试摸索中,还没有找到佳实践。