Определить, является ли браузер Chrome 64-разрядным
Я пытаюсь выполнить скрипт, который должен работать только в браузерах Chrome 64-bit версии. Есть ли способ проверить с помощью JavaScript, установлена ли на компьютере пользователя версия Chrome, 64-разрядная или 32-разрядная? Это должно зависеть от браузера, потому что, например, я использую 64-битную ОС и 32-битную версию Chrome.
До сих пор мне удалось определить, является ли открытый браузер Chrome и какую версию он использует Bowser. Но я все еще борюсь с обнаружением 64-битного браузера.
3 ответа
Для подробного обсуждения этого вопроса см.
- Обнаружить 64-битную или 32-битную Windows из User Agent или Javascript?
- Каков список возможных значений для navigator.platform на сегодняшний день?
Суть в том, что свойство, которое вы ищете, 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"