世界上浏览器种类繁多,出了我们熟悉的IE、Firefox、Chrome、Safari、Opera等外,世界上还有近百种浏览器。遇到兼容性问题时,前端要考虑各种主流浏览器,Javascript是前段开发的主要语言,所以可以通过Javascript来判断浏览器的类型和版本。Javascript判断浏览器类型有两种方法,一种是通过各个浏览器独有的属性来判断,另一种是通过浏览器的userAgent属性来判断。在很多情况下,只判断浏览器的类型还不行,还要判断浏览器的版本才能完美的解决兼容性问题,而判断浏览器版本一般情况下,只能通过分析浏览器的userAgent才能得知。接下来就通过分析userAgent来判断浏览器的类型和版本,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>javascript判断浏览器类型及版本</title>
<script type="text/javascript">
//通过userAgent判断浏览器的类型及版本
function checkBrowserType()
{
var sUserAgent = navigator.userAgent.toLowerCase();
var Sys = {};
var s;
(s = sUserAgent.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = sUserAgent.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = sUserAgent.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = sUserAgent.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = sUserAgent.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
if (Sys.ie)
{
alert(Sys.ie);
}
else if (Sys.firefox)
{
alert(Sys.firefox);
}
else if (Sys.chrome)
{
alert(Sys.chrome);
}
else if (Sys.opera)
{
alert(Sys.opera);
}
else if (Sys.safari)
{
alert(Sys.safari);
}
}
checkBrowserType();
</script>
</head>
<body>
</body>
</html>