JavaScript – objekt Navigator

12. května 2000

Vážení čtenáři, vítám vás v desátém díle seriálu o JavaScriptu. V tomtodíle se budu věnovat tomu, jak poznat, který prohlížeč používá čtenář našich stránek. Jak později poznáte, rozpoznání toho, jestli JavaScriptběží pod Internet Explorerem, a nebo pod Netscape Navigatorem, je opravdupotřeba.

JavaScript byl zařazen poprvé do prohlížeče v Netscape Navigatoru. Zde byl postupně vylepšován, aniž by pro něj existoval nějaký nezávislý standard. Jako hýčkané dítě firmy Netscape si nějakou dobu užíval naprosté svobody. A to až do doby, kdy se rozhodla firma Microsoft naprogramovat svůj Internet Explorer. A Microsoft, jak už to bývá, si začal JavaScript upravovat a měnit. Každá z obou firem měla se svým JavaScriptem jiné plány.

Firma Netscape chtěla dotáhnout JavaScript do podoby jazyka Java, který považovala za svůj veliký vzor. Ostatně JavaScript nemá náhodou jméno podobné tomuto vzoru. Microsoft chtěl ale JavaScript využít na něco jiného. Upřímně řečeno, těžko říci na co přesně. Nejspíše chtěl nejdříve dosáhnout trhů s prohlížeči, a později se snažil JavaScript ohýbat jiným směrem. Navíc se snažil přivést lidi z JavaScriptu na jinou víru, totiž na VBScript.

Výsledkem toho všeho je, že každá z obou firem má ve svém prohlížeči JavaScript.Od sebe se ale bohužel oba JavaScripty navzájem někdy i dost liší. Zatím jsem vás ve svých seriálech ušetřil těchto rozdílů, a snažil jsem se používat jen takové věci, které jsou u obou dvou verzí JavaScriptu stejné. Protože ale chci, aby čtenáři Intervalu byli schopni používat všech možností JavaScriptu, budu vás muset postupně s rozdíly seznámit. Začnu tím, že vysvětlím, jak je pomocí JavaScriptu můžeme od sebe rozeznat. Pro zpřehlednění textu budu používat obvyklé zkratky IE pro Internet Explorer a NN pro Netscape Navigator.

K rozpoznání informací o prohlížeči slouží objekt navigator. Z tohoto objektu můžeme přečíst různé údaje o prohlížeči. Postupně se prokoušu různými typy údajů, která takto můžete získat.

Jméno prohlížeče můžeme získat pomocí zápisu navigator.appName v JavaSciptu. IE zde mívá text "Microsoft Internet Explorer". NN mívá text "Netscape".

Kódové jméno prohlížeče získáme pomocí navigator.appCodeName. Oba zmíněné prohlížeče zobrazují text "Mozilla".

Informace o verzi prohlížeče se přečte zápisem navigator.appVersion. Každý prohlížeč tu zákodovává více informací. Například IE ve verzi 4.01 pro Windows tu má text "4.0 (compatible; MSIE 4.01; Windows 95)". Naproti tomu NN ve verzi 4.51 US vás počastuje textem "4.51 [en] (Win95;l)". Jak vidíte, každý prohlížeč zde uvádí informace, které považuje za důležité.

Jak je patrné, zde je dostatek informací k tomu, aby bylo možné zjistit, o jaký prohlížeč se jedná. Ačkoli mluvím jenom o NN a IE, nejsou na světě jenom tyto dva prohlížeče. Existují mnohé další, které umí JavaScript, jako je třeba Opera, a některé další. Pokud je máte k dispozici, podělte se, prosím, se čtenáři, jaké texty se zobrazují v jednotlivých případech.

Vypsat všechny zde uvedené texty o prohlížeče můžeme najednou třeba takto:

<html>
<head>
<title>Informace o prohlížeči</title>
<script type="text/javascript" language="JavaScript"><!–
fucntion vypis_info()
{
    var zprava;
    zprava = "appName = " + navigator.CodeName + "\n" +
      "appCodeName = " + navigator.appCodeName + "\n" +
      "appVersion = " + navigator.appVersion;
    alert(zprava);
}
// –>
</script> </head>
<body>
<a href="javascript:vypis_info();">Informace o prohlížeči</a>
</body>
</html>

Nejdříve vyzkoušejte tento příklad, a poté si vysvětlíme, jak pracuje:

Informace o prohlížeči

V příkladu jsem si napsal funkci s názvem vypis_info, která se slouží k výpisu informací o prohlížeči. Uvnitř funkce najdříve založím proměnnou s názvem zprávu. V dalším kroku do této proměnné uložím celý text, který se poté příkazem alert zobrazí v samostatné okně. Text, který se zobrazí jsem získal spojením více řetězců dohromady pomocí znaménka +. Jak můžete poznat, sčítat se v JavaScriptu mohou i řetězce textů. Sčítání řetězců JavaScript pochopí tak, že je prostě spojí dohromady do jednoho řetězce. To už jsem ale v minulých dílech použil. Navíc jsem zde celou akci roztáhl na tři řádky. Protože akce končí středníkem, tak to nevadí. JavaScript pozná, kde akce končí právě podle toho středníku.

Naopak neznámý pro vás může být význam řetězce "\n". To je totiž speciální konvence pro psaní znaků. Jestliže napíšu zpětné lomítko (\), to potom spolu s následujícím znakem tvoří jeden celek, a tato dvojice znaků má speciální význam. Dvojicí \n říkáme, aby se začalo psát na nový řádek. Můžete si všimnout, že tam kde jsem použil v příkladu dvojici \n, tam je v okně ukončen řádek a další text je potom psán od začátku dalšího řádku. Dvojice \\ nám poslouží, pokud je potřeba napsat jenom zpětné lomítko. Například jméno souboru C:\AUTOEXEC.BAT bychom museli v JavaScriptu napsat jako "C:\\AUTOEXEC.BAT", aby vše bylo tak, jak jsme to mysleli. Pokud míníme napsat uvozovky, poslouží nám dvojice \“. Pro apostrof lze použít \‘. Možná ještě užitečné pro vás může být tabelátor, ten se píše jako \t. Také je možné použít \b pro návrat o jeden znak zpět (backspace), \r pro návrat na začátek řádky, ale jsou to znaky veskrze málo užitečné.

A to je pro tento díl vše.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Štítky: Články

Mohlo by vás také zajímat

Nejnovější

1 komentář

  1. lm

    Pro 13, 2012 v 21:56

    Ten script, co je uveden na této stránce, je zapsaný chybně. Na místo fucntion vypis_info() by správně mělo býti function vypis_info().

    Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *