Javascript 使用jscript检测操作系统
当我尝试下面的代码时Javascript 使用jscript检测操作系统,javascript,linux,unix,Javascript,Linux,Unix,当我尝试下面的代码时 <html> <body> <script> var OStype ="Unknown OS"; if(navigator.appVersion.indexOf("Linux")!=-1) OStype ="Linux"; else if(navigator.appVersion.indexOf("X11")!=-1) OStype ="U
<html>
<body>
<script>
var OStype ="Unknown OS";
if(navigator.appVersion.indexOf("Linux")!=-1) OStype ="Linux";
else if(navigator.appVersion.indexOf("X11")!=-1) OStype ="Unix";
else if (navigator.appVersion.indexOf("Mac") != -1) OStype = "MacOS";
else if(navigator.appVersion.indexOf("Win")!=-1) OStype ="Windows";
alert("OS is :"+OStype);
</script>
</body>
</html>
输出为:Unix
但是我使用的是Linux Ubuntu 12.04,我感到困惑
有人能解释一下吗?navigator对象提供的是关于浏览器的信息,而不是关于操作系统的信息。appVersion属性提供了有关浏览器编译时所针对的操作系统类型的少量信息,但它并不是要确切地告诉您它运行在什么操作系统上
X11是通常在Unix和Linux系统上使用的窗口系统。在Windows和MacOS上也可以使用X11,但这并不常见。如果appVersion包含X11,那么操作系统可能是Unix或Linux,但您不知道是哪个。将OStype设置为类Unix而不是Unix会更准确
navigator.userAgent属性提供了更详细的信息。特别是,在Linux上运行时,它实际上包括Linux。您应该阅读和。