13

Я пытаюсь выполнить сценарий, который должен запускаться только в браузерах Chrome с 64-разрядной версией. Есть ли способ проверить использование JavaScript, если версия Chrome, установленная на компьютере пользователя, является 64-разрядной или 32-разрядной? t должен быть специфичным для браузера, потому что, например, я запускаю 64-разрядную ОС и 32-разрядную версию Chrome.Обнаружение, если установка браузера Chrome 64-разрядная

До сих пор мне удавалось обнаружить, открыт ли браузер Chrome и какая версия его использует Bowser. Но я все еще борюсь с обнаружением 64-битного браузера.

+0

Не можете найти, что вы информация в строке UA? – PeeHaa

+0

Это пример такой строки: 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? –

+0

Вы когда-нибудь это выясняли? –

ответ

0

Основываясь на том, что я нашел, вы должны попытаться искать следующие строки

  • x86_64
  • x86-64
  • Win64
  • x64; (Имейте в виду точка с запятой! Без него вы будете иметь ложные срабатывания.)
  • amd64
  • AMD64
  • WOW64
  • x64_64
+1

Вы уверены, что это не означает, что платформа (т.е. операционная система) 64 бит? –

+0

для меня, «x64» появился после обновления, Win64 уже был там. – dandavis

+0

WOW64 - это 32-разрядный режим в Windows. –

5

Для широкого обсуждения этого вопроса см

Суть в том, что вы ищете navigator.platform, который возвращает платформу браузера, а не операционную систему.

Вы также можете посмотреть platform.js, библиотеку обнаружения платформы.

EDIT

Посмотрев на это дальше, кажется, что в то время как navigator.platform должна отражать платформу браузера, фактическое возвращаемое значение не всегда полезно.

Например, в Windows 32-разрядная и 64-разрядная версии возвращают «Win32». В этом случае строка пользовательского агента имеет лучшее значение для WOW64 для 32-разрядного браузера или x64 для 64-разрядных.

В конечном итоге кажется, что лучшим решением является использование канонических списков, как в связанных вопросах, или использование библиотеки, такой как platform.js.

+0

navigator.platform относится к ОС, не так ли, а не к версии Chrome? Я посмотрел на platform.js, и он просто выделяет строку userAgent. Очень неприятная проблема заключается в том, что если вы перейдете на страницу «О себе», у нее будет версия, а затем «(64 бит)» после нее, если это 64-битная версия хром. Но этот дополнительный бит в скобках не добавлен в строку userAgent. –

+0

WOW64 на самом деле очень ценная информация - если вы видите это, вы знаете, что ОС 64 бит, а Chrome - 32 бит. То, что я закончил, говорит: «Если мы увидим, что WOW64 - это 32-битный хром. В противном случае 1) это Windows? Если это окна, мы можем увидеть 64 в части ОС? Если это так, то это 64-битный хром. это 32-битный хром. 2) Является ли это Mac? Не так легко сказать на mac ... » –

+0

Я даю щедрость этому ответу, поскольку он указал мне на WOW64, который был ключевым. Мне нужно немного реорганизовать мой код, а затем я отправлю свой собственный ответ, включая мои js-функции. –

-1

navigator.userAgent containes "WOW64" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537,36 (KHTML, как Gecko) Chrome/43.0.2357.65 Safari/537,36"

+0

См. [Комментарий] (http://stackoverflow.com/questions/27188292/detect-if-chrome-browser-installation-is-64-bit#comment-42864555) выше. –

 Смежные вопросы

  • Нет связанных вопросов^_^