代码如下:
复制代码 代码如下:
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()这样的情况下。