js获取客户端ip地址(获取当前客户端IP地址详解)

Navigator这个对象有一个属性值userAgent,它是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。一般来讲,它是在navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的,即浏览器的“类型/版本号”,如此便可通过获取该值来判断浏览器的详细版本信息,代码如下:
js获取客户端ip地址(获取当前客户端IP地址详解)

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>

发表评论

登录后才能评论