Kurs języka HTML i CSS

Poradnik webmastera

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki

Obiekt navigator

Email Drukuj PDF

Obiekt navigator przechowuje informacje dotyczące przeglądarki, jej nazwy, wersji, języka, systemu operacyjnego, na którym została uruchomiona, itp. Nie jest częścią specyfikacji W3C, ale większość produktów obsługuje pewien standardowy zestaw właściwości.

Właściwości obiektu navigator

Właściwości obiektu navigator zostały przedstawione w tabeli 4.7. Warto tu wspomnieć, skąd tyle opcji dotyczących nazwy i wersji. Otóż nazwa kodowa (appCodeName) to w większości popularnych przeglądarek Mozilla, jako że historycznie wywodzą się z tej rodziny i appVersion odnosi się do tego właśnie parametru. Z kolei appName to teoretycznie oficjalna nazwa, czyli np. Netscape, Microsoft Internet Explorer itd., niestety jako Netscape przedstawia się też np. Firefox, który przez firmę Netscape nie jest produkowany. Poza tym, jeśli przeglądarka umożliwia zmianę identyfikacji (jak np. Opera), to parametr ten również nie zawiera prawdziwych informacji.

Tabela 4.7. Właściwość obiektu navigator

Nazwa

Znaczenie

Dostępność

appCodeName

Nazwa kodowa przeglądarki.

FF, IE, NN, OP

appName

Oficjalna nazwa przeglądarki.

FF, IE, NN, OP

appVersion

Wersja kodowa przeglądarki.

FF, IE, NN, OP

appMinorWersion

Podwersja przeglądarki

IE, OP

cookieEnabled

Określa, czy w przeglądarce jest włączona obsługa plików cookie (true — tak, false — nie).

FF, IE, NN, OP

cpuClass

Rodzina procesorów urządzenia, na którym jest uruchomiona przeglądarka.

IE

language

Kod języka przeglądarki.

FF, NN, OP

mimetypes

Tablica zawierająca listę typów mime obsługiwanych przez przeglądarkę. W niektórych przypadkach ta właściwość jest wartością pustą.

FF, IE, NN, OP

online

Określa, czy przeglądarka pracuje w trybie online.

FF, IE

oscpu

Określa system operacyjny, na którym jest uruchomiona przeglądarka.

FF, NN

platform

Określa platformę systemową, dla której jest przeznaczona przeglądarka.

FF, IE, NN, OP

plugins

Tablica zawierająca odniesienia do rozszerzeń zainstalowanych w przeglądarce.

FF, IE, NN, OP

product

Nazwa produktowa przeglądarki (np. Gecko).

FF, NN

productSub

Wersja produktowa przeglądarki.

FF, NN

systemLanguage

Język systemu operacyjnego, w którym jest uruchomiona przeglądarka.

IE

userAgent

Ciąg wysyłany przez przeglądarkę do serwera jako nagłówek HTTP_USER_AGENT. Z reguły pozwala na dokładną identyfikację przeglądarki.

FF, IE, NN, OP

userLanguage

Język użytkownika (z reguły wersja językowa przeglądarki).

IE, OP

vendor

Dostawca (producent) przeglądarki.

FF, NN

vendorSub

Numer produktu według producenta (np. 5.1, 6.0).

FF, NN

Z tego też względu podczas identyfikacji przeglądarki najczęściej korzysta się z ciągu zapisanego we właściwości userAgent, w którym najczęściej można odnaleźć wszystkie niezbędne informacje, nawet jeśli identyfikacja produktu została zmieniona w jego opcjach konfiguracyjnych. Przykłady takich ciągów to:

mozilla/5.0 (windows; u; windows nt 5.0; en-us; rv:1.7.5) gecko/20050729 netscape/8.0.3.3

mozilla/5.0 (compatible; konqueror/3.4; linux) khtml/3.4.0

mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; pl) opera 8.02

mozilla/5.0 (x11; u; linux i686; pl-pl; rv:1.7.8) gecko/20050524 fedora/1.0.4-4 firefox/1.0.4

mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; .net clr 1.1.4322; fdm)

Dokładniejsze oględziny pokazują, że można w nich wyróżnić pewne elementy charakterystyczne. Najłatwiej wyodrębnić po prostu nazwy: Firefox, Konqueror, Netscape, Opera i MSIE. To już pozwala napisać skrypt, który z dużym prawdopodobieństwem określi, z jakim produktem mamy do czynienia. Został on zaprezentowany na listingu 4.20.

Listing 4.20. Rozpoznawanie typu przeglądarki

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

  "http://www.w3.org/TR/html4/strict.dtd">

<html lang="pl">

  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <meta http-equiv="Content-Script-Type" content="text/javascript">

    <title>Moja strona WWW</title>

  </head>

  <body>

    <script type="text/javascript">

    var agent = navigator.userAgent.toLowerCase();

    var nazwa = "nieznany";

    if(agent.indexOf('firefox') != -1){

      nazwa = "Firefox";

    }

    if(agent.indexOf('opera') != -1){

      nazwa = "Opera";

    }

    else if(agent.indexOf('konqueror') != -1){

      nazwa = "Konqueror";

    }

    else if(agent.indexOf('netscape') != -1){

      nazwa = "Netscape Navigator";

    }

    else if(agent.indexOf('msie') != -1){

      nazwa = "Internet Explorer";

    }

    document.write("Twoja przeglądarka to: " + nazwa);

    </script>

  </body>

</html>

Tekst znajdujący się we właściwości userAgent jest konwertowany za pomocą funkcji toLowerCase, tak aby zawierał włącznie małe litery (co ułatwia dalsze operacje), i jest zapisywany w pomocniczej zmiennej agent. Następnie za pomocą metody indexOf jest sprawdzane, czy w ciągu zapisanym w agent znajduje się któreś ze słów charakterystycznych dla jednej z rozpoznawanych przeglądarek. Jeśli tak, zmiennej nazwa jest przypisywana nazwa rozpoznanego produktu. Nazwa ta jest wyświetlana na ekranie za pomocą instrukcji document.write.

W podobny sposób można rozpoznać typ systemu operacyjnego, z którego korzysta użytkownik przeglądarki. Jak to zrobić, obrazuje listing 4.21.

Listing 4.21. Rozpoznawanie typu systemu operacyjnego

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

  "http://www.w3.org/TR/html4/strict.dtd">

<html lang="pl">

  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <meta http-equiv="Content-Script-Type" content="text/javascript">

    <title>Moja strona WWW</title>

  </head>

  <body>

    <script type="text/javascript">

    var agent = navigator.userAgent.toLowerCase();

    var nazwa = "nieznany";

    if(agent.indexOf('windows') != -1){

      nazwa = "Windows";

    }

    if(agent.indexOf('linux') != -1){

      nazwa = "Linux";

    }

    else if(agent.indexOf('mac') != -1){

      nazwa = "MacOS";

    }

    document.write("Twój system to: " + nazwa);

    </script>

  </body>

</html>

Metody obiektu navigator

Metoda javaEnabled

Wywołanie: javaEnabled()

Dostępność: FF, IE3, NN2, OP7

Metoda javaEnabled zwraca wartość true, jeżeli dana przeglądarka obsługuje Javę, lub false w przeciwnym razie.

 

Nowości Helionu

Statystyki

Użytkowników : 766
Artykułów : 513
Zakładki : 28
Odsłon : 15577139