我想提供一个下载的正确版本。我拥有的版本是:
64位Windows
的
使用User Agent字段检测Linux很容易;但是是否有可能可靠地确定Windows是32位还是64位?
用户可能使用奇怪的浏览器- IE和Firefox很常见,我们可能在某个地方有一个Opera用户;可能也有一个Chrome用户。我知道64位Windows7附带了32位和64位版本的IE,我想把我下载的64位版本都发给他们。
(编辑为添加:我知道我应该提供所有选项,我会提供的。但是people don't read the options。所以我想在默认情况下提供正确的下载,以提高可用性。当然,如果我做对了,这是有帮助的,但如果我做错了,那是非常没有帮助的。从到目前为止的答案来看,似乎没有一种可靠的方法来做到这一点)。
发布于 2011-07-29 06:33:19
尝试此操作,在用户代理字符串中查找WOW64 (64位为32位)或Win64 (本机64位)。
if (navigator.userAgent.indexOf("WOW64") != -1 ||
navigator.userAgent.indexOf("Win64") != -1 ){
alert("This is a 64 bit OS");
} else {
alert("Not a 64 bit OS");
}
发布于 2012-12-05 02:23:55
围绕14000 unique user-agents (from here)进行分析,我提出了以下要查找的字符串:
此外,尽管它们具有不同的指令集并且与英特尔x86_64不兼容,但您可能需要检测以下内容:
但要注意,不要只查找包含"64“甚至"x64”的任何内容。Chrome的内部版本号、蜘蛛/机器人、库、.NET版本、分辨率等也可能包含字符串"x64“,但仍然是32位(或其他)操作系统。
请注意,您可以搜索所有这些字符串,不区分大小写。
我在手臂上找不到任何东西。也许是其他人?请编辑,这是一个社区维基。
发布于 2009-11-16 20:42:53
您可以检查window.navigator.platform
和window.navigator.cpuClass
。
我不确定你的情况,但我会考虑做大多数其他网站做的事情,让用户选择他们下载的内容。他们可以把它下载到另一台机器上,放在闪存设备上,或者只是想让32位版本在他们的64位机器上运行。不管是什么原因,我宁愿有选择。
https://stackoverflow.com/questions/1741933
复制相似问题