很有意思的判断ie浏览器

作者博文链接:很有意思的判断ie浏览器

 代码如下:

//  ----------------------------------------------------------
//
 A short snippet for detecting versions of IE in JavaScript
//
 without resorting to user-agent sniffing
//
 ----------------------------------------------------------
//
 If you're not in IE (or IE version is less than 5) then:
//
 ie === undefined
//
 If you're in IE (>=5) then you can determine which version:
//
 ie === 7; // IE7
//
 Thus, to detect IE:
//
 if (ie) {}
//
 And to detect the version:
//
 ie === 6 // IE6
//
 ie > 7 // IE8, IE9 ...
//
 ie < 9 // Anything less than IE9
//
 ----------------------------------------------------------

//  UPDATE: Now using Live NodeList idea from @jdalton

var  ie  =  ( function (){

    
var  undef,
        v 
=   3 ,
        div 
=  document.createElement( ' div ' ),
        all 
=  div.getElementsByTagName( ' i ' );
    
    
while  (
        div.innerHTML 
=   ' <!--[if gt IE  '   +  ( ++ v)  +   ' ]><i></i><![endif]--> ' ,
        all[
0 ]
    );
    
    
return  v  >   4   ?  v : undef;
    
}());

主要利用点:

1.利用ie的条件注释

2.通过getElementsByTagName的HTMLCollection 是动态的。会随着dom结构中的变化而变化

你可能感兴趣的:(很有意思的判断ie浏览器)