Javascript 为什么navigator.cpuClass不正确?

Javascript 为什么navigator.cpuClass不正确?,javascript,client-side,Javascript,Client Side,我试图使用navigator.cpuClass从Javascript获取访问者的CPU类型,以便为他们提供正确的下载。在我的测试中,我遇到了一个示例,navigator.cpuClass在预期为“Win64”时返回“Win32”。我的电脑上的systeminfo实用程序返回: Intel64系列6型15步进11 GenuineIntel~2400 Mhz(Q6600),详细说明如下: 有人能告诉我为什么Javascript没有看到64位CPU吗?我需要可靠地检测CPU…也许您使用的是32位浏览

我试图使用navigator.cpuClass从Javascript获取访问者的CPU类型,以便为他们提供正确的下载。在我的测试中,我遇到了一个示例,navigator.cpuClass在预期为“Win64”时返回“Win32”。我的电脑上的systeminfo实用程序返回:

Intel64系列6型15步进11 GenuineIntel~2400 Mhz(Q6600),详细说明如下:


有人能告诉我为什么Javascript没有看到64位CPU吗?我需要可靠地检测CPU…

也许您使用的是32位浏览器。尝试来自的示例,我得到了相同的结果(
Win32
),即使我运行的是64位操作系统(使用32位的Chrome构建)

然而,在我的例子中,Chrome的
appVersion
字符串表示它在Wow64仿真层下运行。也许你也可以为其他浏览器找到这样的提示

通常,您无法可靠地检测CPU类,因为您永远不知道您的浏览器使用的是红色还是蓝色


一个实用的解决方案是根据浏览器返回的内容提供默认选择,并允许用户切换到64位版本。由于大多数32位软件在64位环境中完美运行(本案例证明了这一点),大多数用户不会注意到他们是否选择了“错误”下载。

只需提供您所拥有的,让用户决定他们想要什么。我还从navigator.appVersion获得了WOW64。我必须测试一下,看看结果。看起来这可能是更好的提示。@最佳解决方案:我添加了一些进一步的注释。