Обнаружить 64-битную или 32-битную Windows из User Agent или Javascript? - PullRequest
74 голосов
/ 16 ноября 2009

Я хочу предложить правильную версию загрузки. У меня есть следующие версии:

  • 32-битная Windows
  • 64-битная Windows
  • Linux

Обнаружение Linux с помощью поля User Agent легко; но можно ли надежно выяснить, является ли Windows 32-битной или 64-битной?

Пользователи могут использовать странные браузеры - IE и Firefox распространены, и у нас, вероятно, где-то есть пользователь Opera; может быть, пользователь Chrome тоже. Я знаю, что 64-битная Windows 7 поставляется с 32-битной и 64-битной версиями IE, и я хотел бы отправить им обе 64-битную версию моей загрузки.

(Отредактировано, чтобы добавить: я знаю, что я должен предоставить все параметры, и я буду. Но люди не читают параметры . Поэтому я хотел обеспечить правильную загрузку по умолчанию, чтобы улучшить удобство и простота использования. Конечно, хотя это полезно, если я правильно понимаю, это крайне бесполезно, если я ошибаюсь. И из ответов до сих пор не похоже, что есть надежный способ сделать это).

Ответы [ 12 ]

1 голос
/ 30 мая 2011

64-битный IE на 64-битной Windows для любого браузера Internet Explorer

if (navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Win64") != -1 && navigator.userAgent.indexOf("x64") != -1){

   alert("This is 64 bit browser");

}
else {

   alert("Not 64 bit browser");

}
0 голосов
/ 22 апреля 2016

Я нашел этот старый вопрос и думал, что он обновляется с помощью недавно найденной библиотеки с открытым исходным кодом: https://github.com/faisalman/ua-parser-js

Согласно документации, метод getCPU() returns { architecture: '' }, со следующими возможными значениями: 68k, amd64, arm, arm64, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64.

...