1、navigator.appName
<HTML>
<HEAD>
<TITLE> Browser Type </TITLE>
</HEAD>
<BODY>
<div id="result"></div>
<script type="text/javascript">
function showBrowserName(){
var target = document.getElementById('result');
target.innerHTML = navigator.appName;
//IE:Microsoft Internet Explorer
//Chrome,FireFox:Netscape
//
}
showBrowserName();
</script>
</BODY>
</HTML>
2、上面的方法只能分辨出浏览器的内核类别,并没有实际的意义,即便是相同的内核,如果版本不同,在CSS和JS处理是上也会千差万别(求统一!!!)。所以很多时候,我们需要了解浏览器的版本。对于IE浏览器,我们区分版本的方法就是IE条件注释。但是这种注释只会被IE识别,其它浏览器会忽略。
<!--[if lte IE 7]>
do sth
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="IE6.css" />
<![endif]-->
<!--[if IE 5]>
<link rel="stylesheet" type="text/css" href="IE5.css" />
<![endif]-->
注释缩写:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! :就是不等于的意思,跟javascript里的不等于判断符相同
3、利用navigator.userAgent
IE8: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
IE7:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
FireFox 3.6:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Chrome:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
还可以应用正则式解析出浏览器版本号。这个方法作用广,但是代码繁琐。