首页 > 代码库 > (转)ie浏览器判断

(转)ie浏览器判断

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

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");}}

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

var ie = 0/*@cc_on+1@*/;

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

var ie = !+\v1;

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

var ie = !-[1,];

 

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

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

之前那大段累赘的分析 navigator,然后正则比较的方式,后面的 js 方法是不是效率更高了!

 

//方法1:  
var isIE6= /msie 6/i.test(navigator.userAgent); 


//方法2:  
var isIE6= navigator.appVersion.indexOf("MSIE 6")>-1; 
方法一和二是通过navigator对象获取浏览器信息字符串,获取相关信息确认是否是IE6


方法3:  
var isIE6= !!window.ActiveXObject&&!window.XMLHttpRequest; 
方法三是通过检查浏览器能力来判断是否是IE6

(转)ie浏览器判断