Obiekty » Navigator

UserAgent

  • 2010-10-31 18:27
  • 1 komentarz
  • 793 odsłony
  • Oceń ten tekst jako pierwszy
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ż:

1 komentarz

Ktos 2006-07-04 10:44

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.