我在不同的Mac OS版本中有一個應用程序 - 一個用於el Capitan,一個用於所有操作系統版本。我可以從用戶代理獲取Mac OS版本嗎?
用戶(不幸)並不總是知道他們在el Cap或Sierra上,並且很難搞清楚。
在我的下載頁面上,我想向他們展示(如果可能)下載哪個版本,因此我想使用用戶代理字符串來執行此操作。
它似乎可以包含像「英特爾Mac OS X 10_12_3」這樣的短語 - 這是可靠的還是有標準的呢?無法在Apple.com上找到它。如果是 - 我可以從哪種形狀確定?
我在不同的Mac OS版本中有一個應用程序 - 一個用於el Capitan,一個用於所有操作系統版本。我可以從用戶代理獲取Mac OS版本嗎?
用戶(不幸)並不總是知道他們在el Cap或Sierra上,並且很難搞清楚。
在我的下載頁面上,我想向他們展示(如果可能)下載哪個版本,因此我想使用用戶代理字符串來執行此操作。
它似乎可以包含像「英特爾Mac OS X 10_12_3」這樣的短語 - 這是可靠的還是有標準的呢?無法在Apple.com上找到它。如果是 - 我可以從哪種形狀確定?
我建議你匹配正則表達式
/OS X 10[_.](\d+)/
有些瀏覽器使用_
到OS X版本的部分分開,而其他人使用.
,這將匹配格式。捕獲組將包含OS X主版本號。如果是11
或更高,那麼他們應該使用El Capitan版本。
謝謝 - 聽起來不錯 - 我會檢查一下。我不確定是否總是發送這個部分,或者是否有不同的版本(如。和下劃線)。 – user1914292
你不能總是依靠用戶代理,因爲用戶可以欺騙它。但是,如果你與天真的用戶打交道,而且他們不使用異國情調的瀏覽器,它應該非常可靠。 – Barmar
https://www.whatismybrowser.com/developers/tools/user-agent-parser/browse/operating-system-name/mac-os-x-user-agents – Barmar
謝謝 - 看到了,但它是非常過時並不再維護 – user1914292
每個瀏覽器的格式都不同,正如您可以從該網站的表格中看到的一樣。 – Barmar