关于IE6,7,8的一些兼容(莫名其妙)问题

以下是一些开发过程踩过的坑,因为以后还要继续和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样式的差异化了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值