JS判断操作系统

JavaScript016

JS判断操作系统,第1张

那是因为ua[2]的值为“ Windows NT 5.1”注意前面有个空格。

使用indexOf方法判断就可以了。

<script language="javascript">

var ua = navigator.userAgent.split("")

if(ua[2].indexOf("Windows NT 5.1")!=-1)

{

window.location = 'http://www.baidu.com'

}

else

{

window.location = 'http://www.google.com'

}

//document.write("'"+ua[2]+"'")

</script>

window对象有navigator属性,你把它打印出来,会发现oscpu就是操作系统的版本号。

例如:

console.log(navigator.oscpu)

版本号和操作系统的对应关系如下:

'Windows 3.11' =>'Win16',

'Windows 95' =>'(Windows 95)|(Win95)|(Windows_95)',

'Windows 98' =>'(Windows 98)|(Win98)',

'Windows 2000' =>'(Windows NT 5.0)|(Windows 2000)',

'Windows XP' =>'(Windows NT 5.1)|(Windows XP)',

'Windows Server 2003' =>'(Windows NT 5.2)',

'Windows Vista' =>'(Windows NT 6.0)',

'Windows 7' =>'(Windows NT 6.1)',

'Windows 8' =>'(Windows NT 6.2)|(WOW64)',

'Windows NT 4.0' =>'(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',

'Windows ME' =>'Windows ME',

'Open BSD' =>'OpenBSD',

'Sun OS' =>'SunOS',

'Linux' =>'(Linux)|(X11)',

'Mac OS' =>'(Mac_PowerPC)|(Macintosh)',

'QNX' =>'QNX',

'BeOS' =>'BeOS',

'OS/2' =>'OS/2',

'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'