判断浏览器的方法总结
判断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]-->