400-9988-316
发布时间:2021-01-29浏览量:1636次
在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测试来说,如果也能多去了解根源的变化,相信也能有更好地帮助,虽然我也只是在浏览器兼容性测试摸索中,还没有找到最佳实践。