【发布时间】:2013-09-03 03:50:04
【问题描述】:
我正在使用 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) Gecko/20100101 Firefox/21.0' 这样的字符串。
现在 Windows NT 6.1 是客户端计算机操作系统的技术名称。 如您所见here,它映射到两个用户友好的Windows 名称,即Windows 7 和Windows Server 2008 R2。
我想要客户端机器的操作系统的直接名称,Windows 7 或 Windows Server 2008 R2。
我怎样才能做到这一点?
【问题讨论】:
-
@Jeffrey,我已经提到我已经尝试过帖子答案中给出的解决方案。但这对我来说还不够。那么如何将其标记为重复呢?
-
因为本质上是同一个问题。另一篇文章说你最好的办法是尝试解析用户代理字符串。一旦你弄清楚如何从字符串中提取技术名称,将它们映射到用户友好的名称应该是相当简单的。
-
@Jeffrey 但这是我的主要问题。解析用户代理字符串不是问题。获得它的实际名称是主要问题。我也要求在 GWT 中给出答案。如果 GWT 中有一些解决方案,那也是可以接受的。该帖子不包括 GWT。所以我认为你应该重新考虑一下。
-
我同意 - 重复。 @RAS 不喜欢答案不会改变根本问题。
标签: java javascript gwt operating-system