44 lines
899 B
JavaScript
44 lines
899 B
JavaScript
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'
|
|
}
|