Javascript 我如何区分Fedora和Ubuntu?

Javascript 我如何区分Fedora和Ubuntu?,javascript,Javascript,我已经知道如何知道我的操作系统是linux navigator.userAgent.indexOf('X11') 但是Ubuntu和Fedora有相同的navigator.userAgent,所以我无法区分 什么属性包含该信息?无法可靠地判断用户正在通过用户代理字符串运行什么分发。有时,您甚至希望能够检测它是否是Linux 如果查看,您将看不到在UA字符串中包含Linux发行版的参考 只需询问用户正在运行的发行版就更可靠了。在相同的useragent字符串中查找Fedora和Ubuntu Mo

我已经知道如何知道我的操作系统是linux

navigator.userAgent.indexOf('X11')
但是Ubuntu和Fedora有相同的navigator.userAgent,所以我无法区分


什么属性包含该信息?

无法可靠地判断用户正在通过用户代理字符串运行什么分发。有时,您甚至希望能够检测它是否是Linux

如果查看,您将看不到在UA字符串中包含Linux发行版的参考


只需询问用户正在运行的发行版就更可靠了。

在相同的useragent字符串中查找
Fedora
Ubuntu

Mozilla/5.0(X11;U;Linux i686;en-US;rv:1.8.1.14)Gecko/20080612 Fedora/2.0.0.14-20080612.fc8.acer Firefox/2.0.0.14

Mozilla/5.0(X11;U;Linux x86_64;sv SE;rv:1.8.1.12)Gecko/20080207 Ubuntu/7.10(gutsy)Firefox/2.0.0.12


但我建议不要依赖UA字符串,您可能无法完全识别所有传入请求。

严格来说,检查X11不会告诉您操作系统是Linux,只是浏览器使用的是X Window系统。X11也可以在Windows和Mac上使用;这并不典型。发送到服务器的东西可能会——这显然是页面检测您想要的下载的方式。您使用的服务器端语言是什么?除了Wyzard所说的之外,它也是另一种方式:Linux不需要使用X11。一个例子是Android,它在Linux内核上运行,但是不使用X11显示系统。@Wyzard谢谢你的建议,我会更严格地修改我的代码。@JamWaffles我的服务器端语言是php,但我只能用javascript检测它。Ubuntu 11.04上最新的Firefox不发送
Ubuntu/11.04
字符串,而最新的Chromium则发送。所以是的:它根本不可靠。在我的feodra中,navigator.userAgent是“Mozilla/5.0(X11;Linux i686;rv:6.0.2)Gecko/20100101 Firefox/6.0.2”。它不包含用于区分的字符串。