Navigator这个对象有一个属性值userAgent,它是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。一般来讲,它是在navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的,即浏览器的“类型/版本号”,如此便可通过获取该值来判断浏览器的详细版本信息,代码如下:
var browser = {};//定义浏览器json数据对象
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.] )/)) ? browser.ie = s[1] :
(s = ua.match(/firefox\/([\d.] )/)) ? browser.firefox = s[1] :
(s = ua.match(/chrome\/([\d.] )/)) ? browser.chrome = s[1] :
(s = ua.match(/opera.([\d.] )/)) ? browser.opera = s[1] :
(s = ua.match(/version\/([\d.] ).*safari/)) ? browser.safari = s[1] : 0;
//以下进行测试,实际运用中可能并不需要。
if (browser.ie) document.write(‘IE: ‘ browser.ie);
if (browser.firefox) document.write(‘Firefox: ‘ browser.firefox);
if (browser.chrome) document.write(‘Chrome: ‘ browser.chrome);
if (browser.opera) document.write(‘Opera: ‘ browser.opera);
if (browser.safari) document.write(‘Safari: ‘ browser.safari);
代码是进行过优化处理以后的,即进行连续嵌套的三元运算来获取浏览器表
识的头部信息,以判断浏览器类型及版本,后面五行代码是进行测试的,经过我的测试,在上面的五种浏览器中都得到了正确的判断结果。
通过自带参数获取操作系统类型:
//<script type=”text/javascript”>//获取客户端操作系统类型function detectOS() { 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); if (isLinux) 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; if (isWinXP) return “WinXP”; var isWin2003 = sUserAgent.indexOf(“Windows NT 5.2”) > -1 || sUserAgent.indexOf(“Windows 2003”) > -1; if (isWin2003) return “Win2003”; var isWin2003 = sUserAgent.indexOf(“Windows NT 6.0”) > -1 || sUserAgent.indexOf(“Windows Vista”) > -1; if (isWin2003) return “WinVista”; var isWin2003 = sUserAgent.indexOf(“Windows NT 6.1”) > -1 || sUserAgent.indexOf(“Windows 7”) > -1; if (isWin2003) return “Win7”; } return “None”;}function locationHref(e){switch(e){case ‘Mac’:window.location.href=’http://www.baidu.com’;break;case ‘Unix’:window.location.href=’http://tieba.baidu.com’;break;case ‘Linux’:window.location.href=’http://map.baidu.com’;break;case ‘Win2000′:window.location.href=’http://mp3.baidu.com’;break;case ‘WinXP’:window.location.href=’http://baike.baidu.com’;break;case ‘Win2003′:window.location.href=’http://zhidao.baidu.com’;break;case ‘WinVista’:window.location.href=’http://hi.baidu.com’;break;case ‘Win7′:window.location.href=’http://video.baidu.com’;break;default :window.location.href=’http://www.hao123.com/’;break;}}//</script>
//<script type=”text/javascript”>var kk=detectOS();alert(kk);
/*locationHref(kk);*/
//</script>
//<script>
//functionGetLocalIPAddress()
//{
// varobj=null;
// varrslt=””;
// try
// {
// obj=newActiveXObject(“rcbdyctl.Setting”);
// rslt=obj.GetIPAddress;
obj=null;
// }
// catch(e)
// {
// //异常发生
// }
//returnrslt;
//}
//document.write(“你的IP是:” GetLocalIPAddress());
//–>
//</script>