确定网站访问者操作系统的最可靠方法是什么?

时间:2009-08-01 00:41:14

标签: http-headers

确定网站访问者操作系统的最可靠方法是什么?在所有其他条件相同的情况下,我更喜欢更容易集成的解我不是在试图收集分析,我知道没有完全可靠的方法。这样做的目的是以不影响网站功能的方式微妙地定制用户体验 - 例如,猜测用户想要下载的跨平台应用程序的os版本(我不会隐藏其他选项,与用户操作系统匹配的选项将变得更加突出。)

4 个答案:

答案 0 :(得分:7)

在客户端,您可以使用Javascript尝试检测它:

// 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);

来源from here。然而,Javascript方法本质上是不可靠的。在服务器端,您可以使用您选择的语言检查某些HTTP标头,但是,这些标头也可以制作并且不可靠。

简而言之,没有100%可靠的方法。

答案 1 :(得分:2)

没有可靠的方法,这不仅是您的业务,也是您的网站不应该关注的事情。


如果这是您的网站要知道的内容,那么会有一个navigator.os属性。注意没有。

答案 2 :(得分:1)

以下是从useragent字符串执行OS检测服务器端的Perl代码示例:

答案 3 :(得分:0)

确定网站访问者操作系统的最可靠方法是什么?在调查中询问他们......其他一切都是废话。使用UserAgent字符串,您可能能够神圣操作系统,但正如许多文章所证明的那样 - 没有真正可靠的方法来判断。