2013-08-30 44 views
1

我正在使用Java 6與GWT 2.4。如何獲取客戶端機器的操作系統的用戶友好名稱?

我想使用Java或GWT或JavaScript來獲取客戶端的操作系統的用戶友好名稱。

我該怎麼做?

我試過使用System.getProperty("os.name"),但是這給了我運行WAR的機器。我想要客戶端(誰在訪問我的WAR)機器的相同。

我也試過使用httpServletRequest.getHeader("User-Agent")。這給了我像字符串像'Mozilla/5.0(Windows NT 6.1; WOW64; rv:21.0)壁虎/ 20100101 Firefox/21.0'

現在這裏Windows NT 6.1是客戶端計算機操作系統的技術名稱。 正如你可以看到here,它被映射到兩個用戶友好的Windows名稱,即Windows 7 & Windows Server 2008 R2

我想客戶機操作系統的直接名稱,可以Windows 7的的Windows Server 2008 R2

我該如何做到這一點?

+0

@Jeffrey暴露,我已經說過,我已經嘗試過在該職位的答案給出的解決方案。但這對我來說也是不夠的。那麼你如何將它標記爲重複? – RAS

+0

因爲它本質上是同一個問題。另一篇文章說你最好的辦法是嘗試解析User-Agent字符串。一旦找出如何從字符串中提取技術名稱,將它們映射到用戶友好名稱應該相當簡單。 – Jeffrey

+0

@Jeffrey但這是我的主要問題。解析用戶代理字符串不是問題。獲取其實際名稱是主要問題。此外,我也要求GWT提供答案。如果在GWT中有一些解決方案,那也是可以接受的。該帖子不包括GWT。所以我認爲你應該重新考慮它。 – RAS

回答

0

你可能想使用navigator.platform,這是在GWT通過

com.google.gwt.user.client.Window.Navigator; 
+0

感謝您的回答。我試過這段代碼。我正在使用Windows 7.&上面的代碼給我** Win32 **。 – RAS

相關問題