UserAgent
Coldpeer
navigator.userAgent
Właściwość obiektu Navigator zwraca nagłówek User-Agent, który został przekazany przez przeglądarkę. Zawiera on zwykle takie informacje:
Aplikacja/Wersja (Platforma; Dodatkowe informacje)
lub
Aplikacja/Wersja (compatible; Wersja; Platforma)
Spójrz na przykład:
alert(navigator.userAgent);
Komunikat wyświetli informacje podobne do:
Opera/8.54 (X11; Linux i686; U; pl)
Każda przeglądarka posiada własny ciąg User-Agent, co można wykorzystać na przykład do systemów statystyk i zliczania poszczególnych przeglądarek. Przykłady nagłówków:
- Microsoft Internet Explorer 6.0 (Windows XP)
-
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
- Windows Internet Explorer 7.0 (Windows 2003 x64)
-
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; SV1; InfoPath.2; .NET CLR 2.0.50727)
- Firebird 0.8 (BeOS 5 Max 3.1)
-
Mozilla/5.0 (BeOS; U; BeOS 5 PE Max Edition v3b1 BePC; pl-PL; rv:1.3) Firebird/0.8
- Safari (MacOS X)
-
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8
- Opera 8.51 (Windows XP)
-
Opera/8.51 (Windows NT 5.1; U; en)
- Firefox 1.5.0.4 (Windows XP)
-
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Jednak nie można za bardzo ufać tym danym, bo można je stosunkowo łatwo zmienić.
Ciekawostka: z powodów historycznych Internet Explorer identyfikuje się jako Mozilla/4.0 - w początkach Internetu, gdy triumfy święciła przeglądarka Netscape oparta o silnik Mozilla niektóre serwery nie chciały dopuszczać Internet Explorera do swoich danych, jeżeli nie identyfikował się jako konkurencyjny produkt. Stąd do dziś Internet Explorer to Mozilla/4.0 (compatible; ...).
Ciekawostka: starsze wersje przeglądarki Opera domyślnie identyfikowały się jako Internet Explorer, gdyż nie były wpuszczane do niektórych stron ze swoim prawdziwym ciągiem User-Agent.
Ciekawostka: właściwość userAgent można czasami zastąpić dwiema innymi:
alert(navigator.platform+'/'+navigator.appVersion);
Zobacz też:
userAgent to nie platforma/wersja a coś znacznie więcej: Application Name/Application Version (compatibility flag; version token; platform token), gdzie compatibility flag może być pomijane i używa go głównie Internet Explorer, a po platform token zdarzają się informacje o języku, platformie .NET i takich tam rzeczach.