浏览器种类
目前,前端需要专门测试的浏览器包括:
- IE6
- IE7
- IE8
- IE9+
- chrome
- firefox
- opera
- 360浏览器(on xp/windows7)
其中,IE6/IE7/360+xp作为低端浏览器,专门做兼容fix。
其他浏览器可以看作modern浏览器,兼容性问题相对较少。
开发过程
开发,从modern浏览器中的chrome作为标准,第一波测试在基于chrome/firefox/opera的开发中完成。
第二波测试IE9+,第三波测试IE8-。
在第一波过程中,修改完善css,html标签,初始开发保证标签css没有问题。
在后续测试中,通过hack的方法,加入补丁,将其他浏览器上的效果调整到modern浏览器的效果。
css hack及其他fix方法
这里整理下http://www.douban.com/note/163291324/ 的内容
IE8兼容问题
直接通过添加
<metahttp-equivmetahttp-equiv="x-ua-compatible"content="IE=7"/>
将IE8的显示模式调解成IE7的,这样将IE8的兼容问题转化为IE7的兼容问题
IE6兼容问题
float浮动在IE6下双倍margin问题:
'_'只有IE6能够识别,比如:
_maring: 0;
Firefox问题
清除浮动
添加一个div,style为 clear:both;
其他辨识标签
更进一步,可以通过HTML判断浏览器,来编写针对特定浏览器的代码(from http://zxlyecf2.iteye.com/blog/2116974):
<!--[if !IE]><!-->除IE外都可识别<!--<![endif]-->
<!--[if IE]> 所有的IE可识别<![endif]-->
<!--[if IE 6]> 仅IE6可识别<![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别<![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别<![endif]-->
<!--[if IE 7]> 仅IE7可识别<![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可识别<![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别<![endif]-->
测试工具
这里主要介绍 modern.IE ,这是微软出的前台测试的平台。
该平台可分为两个部分:一个是用于检测常见代码问题的Web扫描工具,另一个是与BrowserStack合作的虚拟测试服务。
其中,BrowerStack是一个云端的测试服务,可以提供所有系统和浏览器的组合。