首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从用户代理或Javascript检测64位或32位Windows?

从用户代理或Javascript检测64位或32位Windows?
EN

Stack Overflow用户
提问于 2009-11-16 20:35:50
回答 11查看 69.5K关注 0票数 86

我想提供一个下载的正确版本。我拥有的版本是:

64位Windows

  • Linux

  • 32位

使用User Agent字段检测Linux很容易;但是是否有可能可靠地确定Windows是32位还是64位?

用户可能使用奇怪的浏览器- IE和Firefox很常见,我们可能在某个地方有一个Opera用户;可能也有一个Chrome用户。我知道64位Windows7附带了32位和64位版本的IE,我想把我下载的64位版本都发给他们。

(编辑为添加:我知道我应该提供所有选项,我会提供的。但是people don't read the options。所以我想在默认情况下提供正确的下载,以提高可用性。当然,如果我做对了,这是有帮助的,但如果我做错了,那是非常没有帮助的。从到目前为止的答案来看,似乎没有一种可靠的方法来做到这一点)。

EN

回答 11

Stack Overflow用户

发布于 2011-07-29 06:33:19

尝试此操作,在用户代理字符串中查找WOW64 (64位为32位)或Win64 (本机64位)。

代码语言:javascript
复制
    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");
    }

票数 56
EN

Stack Overflow用户

发布于 2012-12-05 02:23:55

围绕14000 unique user-agents (from here)进行分析,我提出了以下要查找的字符串:

  • x86_64
  • x86-64
  • Win64
  • x64;(注意分号!没有它,你就会有false-positives.)
  • amd64
  • AMD64
  • WOW64
  • x64_64

此外,尽管它们具有不同的指令集并且与英特尔x86_64不兼容,但您可能需要检测以下内容:

  • ia64
  • sparc64
  • ppc64
  • IRIX64

但要注意,不要只查找包含"64“甚至"x64”的任何内容。Chrome的内部版本号、蜘蛛/机器人、库、.NET版本、分辨率等也可能包含字符串"x64“,但仍然是32位(或其他)操作系统。

请注意,您可以搜索所有这些字符串,不区分大小写。

我在手臂上找不到任何东西。也许是其他人?请编辑,这是一个社区维基。

票数 32
EN

Stack Overflow用户

发布于 2009-11-16 20:42:53

您可以检查window.navigator.platformwindow.navigator.cpuClass

我不确定你的情况,但我会考虑做大多数其他网站做的事情,让用户选择他们下载的内容。他们可以把它下载到另一台机器上,放在闪存设备上,或者只是想让32位版本在他们的64位机器上运行。不管是什么原因,我宁愿有选择。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1741933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档