我正在开发一个复杂的 Java 小程序,它在 Safari 以及 Windows 和 Linux 上的各种浏览器中运行良好,但在 Macintosh 的 Chrome 和 Firefox 中出现问题。对于调试来说,如果 Java 代码能够检测并报告浏览器、浏览器版本、操作系统以及出现错误时的操作系统版本,那将非常有帮助。
Java 检测该信息最简单、最可靠的方法是什么?
这看起来不错,但需要 Apache log4j,我不知道是否可以说服团队运行它:http://code.google.com/p/user-agent-utils/ http://code.google.com/p/user-agent-utils/'
我猜 Java 可以通过 JavaScript 获取用户代理字符串,但我找不到任何好的示例代码来清楚地展示如何做到这一点。
您可以通过以下方式获取必要的操作系统信息System#getProperty() http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperty%28java.lang.String%29如下:
String osName = System.getProperty("os.name");
String osVersion = System.getProperty("os.version");
String osArch = System.getProperty("os.arch");
String javaRuntimeVersion = System.getProperty("java.runtime.version");
对于其他人,请检查 javadocSystem#getProperties() http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29.
用户代理字符串并不那么相关。毕竟是相同的 JVM 和操作系统。无论如何,您可以让服务器端编程语言从当前请求标头中获取它并将其作为<object>
or <applet>
小程序的参数。下面是一个使用 JSP/EL 的示例:
<param name="userAgent" value="${header['user-agent']}" />
在小程序中获取如下:
String userAgent = getParameter("userAgent");
一旦掌握了用户代理字符串,您就可以在以下位置找到该 Web 服务:http://user-agent-string.info http://user-agent-string.info比 Google Code 中的用户代理实用程序更有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)