Определить, является ли браузер Chrome 64-разрядным

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

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

3 ответа

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

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

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

РЕДАКТИРОВАТЬ

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

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

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

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

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

navigator.userAgent содержит "WOW64" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/43.0.2357.65 Safari/537.36"

Другие вопросы по тегам