2014-08-29 1 views
0

Я разрабатываю одностраничные приложения. Ярлык должен отличаться от разных ОС, особенно Mac OS X. Другие обычно сочетают нажатие клавиши с Ctrl, но Mac объединяется с Cmd.JavaScript для обнаружения ОС в Chrome версии 37.0.2062.94

До сих пор я пытался обнаружить, является ли ОС Mac или нет этот код:

var bMac = navigator.appVersion.indexOf('Mac') > -1; 

Этот код работает хорошо. Однако, обновив Chrome до последней версии (37.0.2062.94), он больше не работает.

Есть ли все-таки, чтобы обнаружить хост-систему браузера в JavaScript?

Я проверил Google Docs в Chrome, и это ярлык хорошо работает с Cmd в Mac и Ctrl в окне. Должен быть способ обнаружить ОС в JavaScript в Chrome.

EDIT Я гугле и нашел несколько страниц об обнаружении ОС в JavaScript:

+0

navigator.userAgent? –

+0

Возможный дубликат [Обнаружить точную версию ОС из браузера] (http://stackoverflow.com/questions/647969/detect-exact-os-version-from-browser) –

ответ

0

кажется, что есть какой-то неожиданный побочный эффект при обновлении версии. Это все еще трудно понять.

Когда я проверил navigator.appVersion, было странно, что было Linux; Android....

> navigator.appVersion 
    "5.0 (Linux; Android 4.2.2; GT-I9505 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36" 

Я проверил вкладку Emulation в инструментах разработчика, и это выглядело так: enter image description here

Это было странно, что эта закладка обычно пуста. В любом случае после того, как я нажал кнопку Reset на вкладке, он возвращается.

> navigator.appVersion 
    "5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36" 
0

С navigation.userAgent вы должны хорошо идти, но вам нужно разобрать ответ. Это очень хорошо small javascript для обнаружения ОС, браузера, устройства, версии устройства и т. Д. Добавляя классы в тег html. Он призван помочь вам с стилями css, но у него есть и другие виды использования.

Пример, после запуска, что небольшой Javascript вы будете иметь:

<html class="webkit chrome mac"> 
Смежные вопросы