3 回答
TA贡献1821条经验 获得超4个赞
我已经做了一些测试。以下是结果,希望对您有所帮助:
64位MacOS + 64位Safari或32位Chrome:
window.navigator.platform = MacIntel
32位Windows +野生动物园:
window.navigator.platform = Win32
64位Windows + 64位IE:
window.navigator.platform = Win64
window.navigator.cpuClass = x64
64位Windows + 32位IE:
window.navigator.platform = Win32
window.navigator.cpuClass = x86
64位Windows + 32 Firefox(或Chrome):
window.navigator.platform = Win32
32位Linux Mint(i686)+ firefox:
window.navigator.platform = Linux i686
64位Ubuntu(x86_64)+ 32位Chrome:
window.navigator.platform = Linux i686
64位Ubuntu + 64位主显节:
window.navigator.platform = Linux x86_64
到目前为止,我已经使用以下代码:
deployJava.isWin64OS = function() {
return navigator.userAgent.indexOf('WOW64')>-1 || window.navigator.platform=='Win64';
};
TA贡献1770条经验 获得超3个赞
通过分析大约14000个唯一的用户代理(从此处开始),我提出了以下字符串来寻找:
x86_64
x86-64
Win64的
x64; (请记住分号!没有它,您将有假阳性。)
amd64
AMD64
WOW64
x64_64
此外,尽管它们具有不同的指令集并且与Intel x86_64不兼容,但是您可能需要检测以下内容:
ia64
sparc64
ppc64
IRIX64
但是要当心,不要只寻找包含“ 64”甚至“ x64”的东西。Chrome的内部版本号,爬虫/漫游器,库,.NET版本,分辨率等也可能包含字符串“ x64”,而仍然是32位(或其他)操作系统。
请注意,您可以搜索所有不区分大小写的字符串。
我无法在ARM上找到任何东西。也许有人吗?请编辑,这是一个社区Wiki。
添加回答
举报