在网上搜索了一些关于获取浏览器信息的文章,总结如下:
下面介绍下 js获取客户端浏览器信息
Navigator 对象包含有关浏览器的信息,js就是通过Navigator的属性获取客户端浏览器信息。
Navigator 对象属性:
属性描述:
appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本。
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass 返回浏览器系统的 CPU 等级。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
systemLanguage 返回 OS 使用的默认语言。
userAgent 返回由客户机发送服务器的 user-agent 头部的值。
userLanguage 返回 OS 的自然语言设置。
下图截自chrome浏览器Navigator的对象属性信息
以下代码获取了浏览器的名称,版本,操作系统:
<!Doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script type="text/javascript">
var browserInfor = {};
var browserInfor.getBrowserInfo = function(){
var agent = navigator.userAgent.toLowerCase() ;
var sUserAgent = navigator.userAgent;
var regStr_ie = /msie [\d.]+;/gi ;
var regStr_ff = /firefox\/[\d.]+/gi
var regStr_chrome = /chrome\/[\d.]+/gi ;
var regStr_saf = /safari\/[\d.]+/gi ;
//IE
if(agent.indexOf("msie") > 0)
{
return "浏览器:"+agent.match(regStr_ie);
}
//firefox
if(agent.indexOf("firefox") > 0)
{
return "浏览器:"+agent.match(regStr_ff) ;
}
//Chrome
if(agent.indexOf("chrome") > 0)
{
return "浏览器:"+agent.match(regStr_chrome);
}
//Safari
if(agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0)
{
return "浏览器:"+agent.match(regStr_saf) ;
}
}
var browserInfor.detectOS = function(){
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
if (isMac) return "Mac";
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix";
var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
var bIsAndroid = sUserAgent.toLowerCase().match(/android/i) == "android";
if (isLinux) {
if(bIsAndroid) return "Android";
else return "Linux";
}
if (isWin) {
var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
if (isWin2K) return "操作系统:Win2000";
var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1
sUserAgent.indexOf("Windows XP") > -1;
if (isWinXP) return "操作系统:WinXP";
var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
if (isWin2003) return "操作系统:Win2003";
var isWinVista= sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
if (isWinVista) return "操作系统:WinVista";
var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
if (isWin7) return "操作系统:Win7";
var isWin8 = sUserAgent.indexOf("windows nt6.2") > -1 || sUserAgent.indexOf("Windows 8") > -1;
if (isWin8) return "操作系统:Win8";
}
return "其他";
}
var browserInfor.digits = function(){
var agent = navigator.userAgent.toLowerCase() ;
var sUserAgent = navigator.userAgent;
var sUserAgent = navigator.userAgent;
var is64 = sUserAgent.indexOf("WOW64") > -1;
if (is64) {
return "64位";
}else{
return "32位";
}
}
alert(browserInfor.getBrowserInfo()+'\n'+browserInfor.detectOS()+'-'+browserInfor.digits());
</script>
</body>
</html>