判断IE各版本(精简版)

var isIE=!!window.ActiveXObject;

var isIE6=isIE&&!window.XMLHttpRequest;

var isIE8=isIE&&!!document.documentMode;

var isIE7=isIE&&!isIE6&&!isIE8;

if (isIE){

if (isIE6){

alert("ie6″);

}else if (isIE8){

alert("ie8″);

}else if (isIE7){

alert("ie7″);

}

}

上述是一般常用的JavaScript用来检测浏览器为IE哪个版本的代码。

而由于今年1月一位俄国人,利用了IE与标准浏览器在处理数组的toString方法的差异,完美的利用6bytes:!-[1,]完成了对是否为IE浏览器的检测 。而之前最短代码为:!+”v1″的7bytes。利用这些发现我们同样可以使我们的代码写的更短更有艺术。如今检测是否为IE6其实可以写成

!-[1,]&&!window.XMLHttpRequest

这个代码在实际使用中还是颇为有用的,既然能写的更短何乐而不为呢。相对于之前那大段累赘的分析navigator然后正则比较的方式当然效率更高,代码更简洁完全没有不用道理。在JavaScript编写过程中应该多多的利用诸如||、&&、!、!!这类的运算符,不光是在if()这样的情况下。 

link

评论

Popular Posts

一个老程序员PHP程序员说的话

如何做好个人防疫?

创业的36条军规

《皇家国教骑士团OVA》 Hellsing Ultimate OVA

于千万人之中,你是匠人

用免费空间(cpanel空间)寻找免费Secure Shell帐号

10个Laravel4开发人员必用扩展包

超级机器人大战D(机战D)星组汉化版

Linux下通过官方脚本安装Docker服务和Portainer图形界面管理工具