2014-08-29 170 views
0

我正在開發單頁應用程序。快捷鍵應該從不同的操作系統,特別是Mac OS X不同。其他通常結合擊鍵與Ctrl,但Mac與命令組合。要在Chrome中檢測操作系統的JavaScript版本37.0.2062.94

到現在爲止,我試圖檢測操作系統是否是Mac還是不受此代碼:

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

此代碼運行良好。 但是,在將Chrome更新到最新版本(37.0.2062.94)之後,它不再有效。

有沒有辦法在JavaScript中檢測瀏覽器的主機操作系統?

我檢查了谷歌文檔在Chrome和它的快捷與行之有效Cmd的在Mac和按Ctrl的窗口。 Chrome中應該有一種檢測JavaScript的操作系統。

編輯 我用Google搜索,發現有關在javascript檢測OS的某些頁面:

+0

navigator.userAgent? – 2014-08-29 08:02:44

+0

[從瀏覽器檢測確切的操作系統版本]的可能重複(http://stackoverflow.com/questions/647969/detect-exact-os-version-from-browser) – 2014-08-31 00:44:40

回答

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">