js里面关于IE和万恶的IE6的判断

本文深入探讨了前端开发中浏览器兼容性问题,从CSS到JS的兼容性挑战,分享了判断IE浏览器的简洁代码,并介绍了CSS Hack写法等解决兼容性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚接触前端的时候,师傅最先告诉我的就是前端要玩的转,浏览器的兼容性必须弄明白,然后我知道了兼容性就是意味着Microsoft IE,就是意味着万恶的IE6,我这个时候才知道秦始皇统一六国的好处,垄断带来的便捷,要是IE把浏览器市场垄断了,或者IE被别的浏览器厂商给淘汰了该多好啊,YYing....,刚开始的时候只是CSS的兼容性问题,什么最经典的双倍边距BUG了啥的,那个时候我还不会用display:inline来解决,最开始知道和了解的就是CSS HACK写法,也就是“_”,“*”,“!important”,"/8"什么的写法,到了开始学习JS的时候,兼容性问题还是依然存在的(恨的我牙痒痒,在NB的IE面前换个语言也没用),一开始为了判断IE或者IE6只能写很长很长的JS代码来取浏览器的信息,然后通过if来判断是哪个浏览器,真是费心费力啊。但是人才比比皆是啊,在网上搜到很多很巧妙的判断IE和IE6的JS代码,现给大家呈上:

 1 var isIE=!!window.ActiveXObject;
2 var isIE6=isIE&&!window.XMLHttpRequest;
3 var isIE8=isIE&&!!document.documentMode;
4 var isIE7=navigator.appVersion.match(/7./i)=='7.';
5 if (isIE){
6 if (isIE6){
7 alert(”ie6″);
8 }else if (isIE8){
9 alert(”ie8″);
10 }else if (isIE7){
11 alert(”ie7″);
12 }
13 }

短了吗?真的短了哎,还有更短的吗,有!

2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:

1 var ie = !-[1,];

那么我们完全可以用这句6个字节的代码和上面的代码合并来判断IE6

1 var ie6=!-[1,]&&!window.XMLHttpRequest;

转载于:https://www.cnblogs.com/chijijuedi/archive/2012/02/23/2364694.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值