browser.js
899 Bytes
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
module.exports = function arch () {
/**
* User agent strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/13709431/292185
*/
var userAgent = navigator.userAgent
if ([
'x86_64',
'x86-64',
'Win64',
'x64;',
'amd64',
'AMD64',
'WOW64',
'x64_64'
].some(function (str) {
return userAgent.indexOf(str) > -1
})) {
return 'x64'
}
/**
* Platform strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/19883965/292185
*/
var platform = navigator.platform
if (platform === 'MacIntel' || platform === 'Linux x86_64') {
return 'x64'
}
/**
* CPU class strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/6267019/292185
*/
if (navigator.cpuClass === 'x64') {
return 'x64'
}
/**
* If none of the above, assume the architecture is 32-bit.
*/
return 'x86'
}