以下是一些开发过程踩过的坑,因为以后还要继续和IE6做斗争,因此记录一下以便往后参考。
1.定义对象时,最后一个变量或属性之后一定不要加逗号"," !!!
2.不支持字符串的trim()方法。这是JS版本的问题,IE9以下和chrom10以下都不支持。
function myTrim(x) { return x.replace(/^\s+|\s+$/gm,''); }
原生自己写。
----------------------------------------------------------------------------------------------------------------------------------
下面是一些开发技巧
1.使用IE11自带的调试工具,F12即可,可以切换至IE之前的老版本进行调试。
2.js判断IE9以下的浏览器
if
(navigator.appName ==
"Microsoft Internet Explorer"
&&parseInt(navigator.appVersion.split(
";"
)[1].replace(/[ ]/g,
""
).replace(
"MSIE"
,
""
))<9){
alert(
"您的浏览器版本过低,请下载IE9及以上版本"
);
}
3.去掉input的小叉头(IE6,7,8)
::-ms-clear{
display
:
none
;
}
4.css一些前缀兼容判断
ie6,是在前面加一个下划线——“_”;
ie7是在前面加一个星号——“*”;
ie8是在属性后面加一个斜杠和0——“\0”;
ie9是在属性后同时加上斜杠9和斜杠0——"\9\0" 可用于判断IE类
当然这些都不是规范的写法,规范的作法实际上不是在css样式里面加一些这样的符号,而是直接在html里面设定相应版本的浏览器所对应加载的样式表,例如有一个CSS,我想要IE9以下、IE6及以上的浏览器读取它,其它版本的浏览器不读取,就只需要在html里面写下这样的代码就行了:
<!--[if (gte IE 6)&(lte IE 8)]>
<link href="css/ie6.css" rel="stylesheet" type="text/css">
<![endif]-->
这样就可以在保证CSS代码规范的基础上又实现CSS样式的差异化了。