Какой самый надежный способ определить ОС посетителя сайта? - PullRequest
2 голосов
/ 01 августа 2009

Какой самый надежный способ определения ОС посетителя веб-сайта?При прочих равных условиях я предпочитаю проще интегрировать решение.Я не пытаюсь собрать аналитику, и я понимаю, что нет абсолютно надежного метода.Цель этого состоит в том, чтобы тонко адаптировать пользовательский интерфейс способами, которые не влияют на функциональность сайта - например, сделать предположение, какую версию ОС кросс-платформенного приложения пользователь хотел бы загрузить (я не будускрыв остальные варианты, тот, который соответствует ОС пользователя, станет более заметным).

Ответы [ 4 ]

7 голосов
/ 01 августа 2009

На стороне клиента вы можете использовать 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);

Источник отсюда . Однако методы Javascript ненадежны по своей природе. На стороне сервера вы можете просмотреть некоторые заголовки HTTP на выбранном вами языке, однако они также могут быть созданы и ненадежны.

Короче говоря, нет 100% надежного метода.

2 голосов
/ 01 августа 2009

Нет надежного способа сделать это, и это не только не ваше дело, это также то, на что ваш сайт не должен обращать внимания.


Если бы это было то, что ваш сайт должен был знать, тогда было бы свойство navigator.os. Обратите внимание, что нет.

1 голос
/ 01 августа 2009

Вот примеры кода Perl, который выполняет обнаружение ОС на стороне сервера по строкам useragent:

0 голосов
/ 01 августа 2009

Какой самый надежный способ определения ОС посетителя веб-сайта? Спросите их об опросе ... все остальное - отстой. Используя строку UserAgent, вы можете иметь возможность предугадать ОС, но, как подтверждают многочисленные статьи, действительно надежного способа сказать нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...