判断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

《活法》作者:[日]稻盛和夫 pdf下载

解决word和excel运行时错误:91未设置对象变量或with block变量

浩方对战平台优化版 V2.05 部分去除浩方广告和弹出窗口

MIFARE Classic Tool - 安卓NFC门禁卡修改工具

U盾安装及检测不到U盾问题的排查方法

麦当劳免费Wifi帐号密码及连接设置

Superheroes - The Script

Linux下加密虚拟分区并挂载文件夹使用