时光的涂鸦墙

code is poetry

JS判断访问设备、客户端操作系统类型

判断当前设备操作系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
<title>判断操作系统</title>
<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

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
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'
}
return 'other'
}
document.writeln('您的操作系统是:' + detectOS())
alert(detectOS())
</script>
</head>
<body></body>
</html>

判断当前访问网站的设备是否是 PC

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//平台、设备和操作系统
var system = {
win: false,
mac: false,
xll: false
}
//检测平台
var p = navigator.platform
system.win = p.indexOf('Win') == 0
system.mac = p.indexOf('Mac') == 0
system.x11 = p == 'X11' || p.indexOf('Linux') == 0
//跳转语句
if (system.win || system.mac || system.xll) {
alert('PC访问')
} else {
alert('非PC访问')
}

JS 判断访问设备(userAgent)加载不同页面。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase()
var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad'
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == 'iphone os'
var bIsMidp = sUserAgent.match(/midp/i) == 'midp'
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4'
var bIsUc = sUserAgent.match(/ucweb/i) == 'ucweb'
var bIsAndroid = sUserAgent.match(/android/i) == 'android'
var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce'
var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile'
if (
!(
bIsIpad ||
bIsIphoneOs ||
bIsMidp ||
bIsUc7 ||
bIsUc ||
bIsAndroid ||
bIsCE ||
bIsWM
)
) {
window.location.href = B页面
}
}
browserRedirect()

JS 判断客户端操作系统类型(platform)来定义不同的字体表现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 更详细的探测当前客户端使用的操作系统
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 'other'
}

另一种方法,使用 mootools 框架

1
2
3
4
5
var s = null
s = Browser.Platform.linux
alert(s)
if (Browser.Platform.linux) alert('linux')
else alert('not linux')

使用 JS 架框有现成的判断

例如 motools 架框中:

  • Browser.Platform.mac - (boolean) 当前操作系统是否为 Mac

  • Browser.Platform.win - (boolean) 当前操作系统是否为 Windows

  • Browser.Platform.linux - (boolean) 当前操作系统是否为 Linux

  • Browser.Platform.ipod - (boolean) 当前操作系统是否为 iPod Touch / iPhone

  • Browser.Platform.other - (boolean) 当前操作系统即不是 Mac, 也不是 Windows 或 Linux

  • Browser.Platform.name - (string) 当前操作系统的名称

转载自:http://www.cnblogs.com/duanguyuan/p/3534470.html

© 2019 elaine