【问题标题】:How to get client machine's Operating System's user friendly name? [duplicate]如何获取客户端计算机操作系统的用户友好名称? [复制]
【发布时间】: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 7Windows Server 2008 R2

我想要客户端机器的操作系统的直接名称,Windows 7Windows Server 2008 R2

我怎样才能做到这一点?

【问题讨论】:

  • @Jeffrey,我已经提到我已经尝试过帖子答案中给出的解决方案。但这对我来说还不够。那么如何将其标记为重复呢?
  • 因为本质上是同一个问题。另一篇文章说你最好的办法是尝试解析用户代理字符串。一旦你弄清楚如何从字符串中提取技术名称,将它们映射到用户友好的名称应该是相当简单的。
  • @Jeffrey 但这是我的主要问题。解析用户代理字符串不是问题。获得它的实际名称是主要问题。我也要求在 GWT 中给出答案。如果 GWT 中有一些解决方案,那也是可以接受的。该帖子不包括 GWT。所以我认为你应该重新考虑一下。
  • 我同意 - 重复。 @RAS 不喜欢答案不会改变根本问题。

标签: java javascript gwt operating-system


【解决方案1】:

您可能想要使用 navigator.platform,它通过

在 GWT 中公开
com.google.gwt.user.client.Window.Navigator;

【讨论】:

  • 感谢您的回答。我试过这段代码。我使用的是 Windows 7。上面的代码给了我 Win32
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 2019-11-15
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多