判断浏览器的方法总结

判断IE浏览器:

1.+[1,]

2.!+"\v1"  (利用的是ie不支持垂直制表符的特性)

3.!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)  (库prototype的方法,navigator.userAgent.indexOf('Opera') === -1是因为opara浏览器能伪装成ie)

4.!!(!window.addEventListener&& navigator.userAgent.indexOf('Opera') === -1)

5.!!(document.all && navigator.userAgent.indexOf('Opera') === -1)

详细:

1.var ie = !-[1,];

利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。

<script type="text/javascript">

var ie = !-[1,];

alert(ie);

</script>

2.var ie = !+"\v1";利用的是ie不支持垂直制表符的特性

--------------------------------------------------------------------------------------------------------------

判断ie的具体版本

判断是否ie6

jQuery:

1.$.browser.msie&&($.browser.version == "6.0")&&!$.support.style  (jQuery.browser及jQuery.browser.version在1.9版本已经弃用,可以使用jQuery.support来代替  )

2.

var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
if (isIE){
if (isIE6){
alert("ie6");
}
}

3.利用正则表达式:(同理可以判断ie7,ie8,ie9等)

if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {

alert("这个是ie6浏览器");

}

4.通过浏览器版本信息判断各浏览器 
var _uat=navigator.userAgent; 
if(_uat.indexOf("MSIE 6.0")>0) alert("ie6"); 
else if(_uat.indexOf("MSIE 7.0")>0) alert("ie7"); 
else if(_uat.indexOf("MSIE 8.0")>0) alert("ie8"); 
else if(_uat.indexOf("Firefox")>0) alert("firefox"); 

CSS判断浏览器 
#example{color:red ;} /*firefox*/ 
* html #example{color:blue;} /*ie6*/ 
*+html #example{color:green;} /*ie7*/ 

HTML判断浏览器 
1. <!--[if !IE]><!-->除IE外都可识别<!--<![endif]--> 
2. <!--[if IE]> 所有的IE可识别<![endif]--> 
3. <!--[if IE 6]> 仅IE6可识别<![endif]--> 
4.<!--[if lt IE 6]> IE6以及IE6以下版本可识别<![endif]--> 
5. <!--[if gte IE 6]> IE6以及IE6以上版本可识别<![endif]--> 
6.<!--[if IE 7]> 仅IE7可识别<![endif]--> 
7. <!--[if lt IE 7]> IE7以及IE7以下版本可识别<![endif]--> 
8. <!--[if gte IE 7]> IE7以及IE7以上版本可识别<![endif]--> 

 

posted @ 2013-10-17 15:50  hlp鹏  阅读(220)  评论(0编辑  收藏  举报