最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)

Posted The best is yet to come

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)相关的知识,希望对你有一定的参考价值。

常用的 javascript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测。

 1 var isIE=!!window.ActiveXObject;
 2 var isIE6=isIE&&!window.XMLHttpRequest;
 3 var isIE8=isIE&&!!document.documentMode;
 4 var isIE7=isIE&&!isIE6&&!isIE8;
 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 }

 

然后是一个稍微短的 js 判断是否 ie 的方法:
这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)

 1 var ie = 0/*@[email protected]*/; 

一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:

 1 var ie = !+‘\v1‘; 

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

 1 var ie = !-[1,]; 

利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:

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

以上是关于最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)的主要内容,如果未能解决你的问题,请参考以下文章

js怎么判断空数组

如何判断调用的外部JS文件加载完成?

js判断字段是否为空 isNull

js——判断变量是否为空是否包含某属性,三元表达式(要这个)

js判断字段是否为空 isNull(非原创)

利用$.support.leadingWhitespace检查浏览器是否为IE6-8