通过Java或JavaScript检测操作系统

Nee*_*eel 1 javascript java

我需要在Java中检测操作系统名称和版本.我能做到的

String os_name = System.getProperty("os.name", "");
String os_version = System.getProperty("os.version", "");
Run Code Online (Sandbox Code Playgroud)

但问题是这不可靠.有时它返回不正确的信息,除了最流行的Windows,MacOS,Linux等,我无法检测到所有操作系统,这甚至在64位操作系统的情况下提供了错误的信息.我需要检测任何具有任何规格的操作系统.我无法找到合适的解决方案.

也许我可以用JavaScript做到这一点?如果在Java中不可能,请告诉我如何使用JavaScript.

任何意见或建议高度赞赏.

提前致谢.

最好的祝福,

**Nilanjan Chakraborty

gre*_*uze 8

在Java中,在猜测操作系统时会出现一些常见的错误:

http://bugs.sun.com/view_bug.do?bug_id=6819886

也许在较新版本的Java中,它们已经解决了.

在Javascript中,您可以使用navigator.appVersion:

// This script sets OSName variable as follows:
// "Windows"    for all versions of Windows
// "MacOS"      for all versions of Macintosh OS
// "Linux"      for all versions of Linux
// "UNIX"       for all other UNIX flavors 
// "Unknown OS" indicates failure to detect the OS

var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

document.write('Your OS: '+OSName);
Run Code Online (Sandbox Code Playgroud)

  • 当然,您应该知道操作系统信息很容易被欺骗. (3认同)