Javascript 检测Chrome浏览器安装是否为64位

Javascript 检测Chrome浏览器安装是否为64位,javascript,google-chrome,browser,32bit-64bit,browser-detection,Javascript,Google Chrome,Browser,32bit 64bit,Browser Detection,我正在尝试执行一个只应在Chrome 64位版本浏览器上运行的脚本。有没有办法使用JavaScript检查用户机器上安装的Chrome版本是64位还是32位?t应该是特定于浏览器的,因为例如,我运行64位操作系统和32位版本的Chrome 到目前为止,我设法检测到打开的浏览器是否是Chrome,以及它使用Bowser的版本。但我仍然在为64位浏览器检测而挣扎 根据我的发现,您应该尝试查找以下字符串 x86_64 x86-64 Win64 x64;(注意分号!如果没有分号,将出现误报。) amd

我正在尝试执行一个只应在Chrome 64位版本浏览器上运行的脚本。有没有办法使用JavaScript检查用户机器上安装的Chrome版本是64位还是32位?t应该是特定于浏览器的,因为例如,我运行64位操作系统和32位版本的Chrome


到目前为止,我设法检测到打开的浏览器是否是Chrome,以及它使用Bowser的版本。但我仍然在为64位浏览器检测而挣扎

根据我的发现,您应该尝试查找以下字符串

  • x86_64
  • x86-64
  • Win64
  • x64;(注意分号!如果没有分号,将出现误报。)
  • amd64
  • AMD64
  • WOW64
  • x64_64

有关此问题的详细讨论,请参阅

底线是您要查找的属性是
navigator.platform
,它返回浏览器的平台,而不是操作系统

您还可以查看平台检测库

编辑

进一步研究后,似乎
navigator.platform
应该反映浏览器平台,但返回的实际值并不总是有用的

例如,在Windows上,32位和64位版本都返回“Win32”。在这种情况下,对于32位浏览器,用户代理字符串的值为WOW64,对于64位浏览器,该值为x64


最终看来,更好的解决方案是依赖于链接问题中的规范列表,或者使用类似platform.js的库

navigator.userAgent包含“WOW64”
“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/43.0.2357.65 Safari/537.36”

你在UA字符串中找不到这些信息吗?这是这样的字符串的一个例子:Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/39.0.2171.71 Safari/537.36,这里WOW64指向32位版本,但那是Windows,iOS和Linux呢?你有没有弄明白这一点?为什么你需要专门检测64位Chrome?你确定你的问题不能通过功能检测来解决吗?在这种情况下,还有其他相关的问题:你确定这不是指平台(即操作系统)是否为64位吗?对我来说,“x64”在升级后出现,Win64已经存在了。WOW64是Windows.navigator.platform上的32位模式与操作系统相关,不是吗,而不是与Chrome版本相关?我已经看过platform.js,它也只是分离了userAgent字符串。真正令人恼火的问题是,如果你进入“关于”页面,它有一个版本,然后在它之后是“(64位)”,如果它是64位版本的chrome。但是这个额外的括号位并没有添加到userAgent字符串中。WOW64实际上是非常有价值的信息——如果你看到它,你就会知道操作系统是64位的,Chrome是32位的。我最后说的是“如果我们能看到WOW64,它是32位的chrome。否则1)它是Windows吗?如果是Windows,我们能在操作系统部分看到64位吗?如果是,那么它是64位的chrome。如果不是,那么它是32位的chrome。2)它是Mac吗?在Mac上不那么容易辨别……”我对这个答案给予了奖励,因为它指向了我关键的WOW64。我需要重构我的代码一点,然后我会发布我自己的答案,包括我的js函数。见上面的提问者。