Príručka k JavaScriptu
9. kapitola

9.0 Identifikacia prehliadaca

V sucasnej dobe existuju 2 graficke prehliadace stranok, ktore podporuju JavaScript. Microsoft Internet Explorer a Netscape Navigator. S podporou JavaScriptu zacal Netscape a neskor doslo k implementovaniu JavaScriptu aj do Internet Explorera. Avsak podpory JavaScriptu u obidvoch prehliadacoch sa od seba lisia, tzn. ze skript, ktory bezchybne funguje v Netscape Navigatore nemusi byt plne funkcny aj v Internet Exploreri a naopak.

Nastastie obidva prehliadace podporuju objekt navigator, pomocou ktoreho je mozne urcit nazov prehliadaca, jeho verziu, na ktorej platforme bezi a taktiez aj oznacenie verzie kompatibility.

Na nasledujucom priklade si ukazeme, co je vsetko mozne zistit o prehliadaci, ktorym prave prezerate stranku.

Zdrojovy tvar:

<html>
<body>
<!--
document.write('<h4>MENO PREHLIADACA: '+navigator.appName+'<br>');
document.write('VERZIA: '+navigator.appVersion+'<br>');
document.write('KODOVE OZNACENIE: '+navigator.appCodeName+'<br>');
document.write('UPLNE OZNACENIE: '+navigator.userAgent+'</h4>');
// -->
</body>
</html>

9.1 Presmerovanie na optimalizovanu stranku

To, ze ani dokonca podpora HTML u oboch prehliadacov nie je identicka, to je uz zname dlhsiu dobu. Ako je mozne navrhnut stranky tak, aby vyzerali idealne pre oba prehliadace ? Jednoducho. Vyuzijeme poznatky z minulej sekcie.

Princip je jednoduchy. Po identifikacii prehliadaca dojde k nacitaniu stranky optimalizovanej pre ten prehliadac. Samozrejme, skript musime zabezpecit tak, aby aj uzivatelia, ktorych prehliadach nepodporuje JavaScript mali moznost nahliadnut na vase stranky. I ked v sucasnej dobe iba 2 prehliadace podporuju JavaScript, moze sa stat, ze v buducnosti bude medzi nimi i 3, a preto aj tuto moznu situaciu treba osetrit.

PRIKLAD

Zdrojovy tvar:

<html>
<head>
<script language="JavaScript">
a="9k-p1.html";
if (navigator.appName=="Netscape") a="9k-p2.html";
if (navigator.appName=="Microsoft Internet Explorer") a="9k-p3.html";
</script>
</head>
<body onLoad="location=a;">
</body>
</html>

9.2 Vyuzitie optimalizovaneho skriptu

Predstavte si, ze ste spravcom velkeho poctu stranok a vyskytne sa vam horeuvedeny problem. Riesit to predchadzajucim sposobom by bolo asi nehospodarne co sa tyka poctu suborov. Da sa to riesit aj nasledove.

Princip spociva v tom, ze dochadza k vykonavaniu iba urcitych casti skriptu vo vnutri HTML dokumentu. To sa da zabezpecit velmi lahko s pouzitim prikazu podmienky if. Takymto sposobom je realizovana aj titulna stranka JavaScript DESTINATION, kde sa nezobrazuje textove okienko v pripade, ze pouzivate nizsiu verizu prehliadaca.

PRIKLAD

Zdrojovy tvar:

<HTML>
<BODY>
<h3 align="center">Spolocna cast dokumentu pre oba prehliadace
<br>
<BR>
<SCRIPT LANGUAGE="JavaScript">
<!--
compat=false;
if (navigator.appName=="Netscape") compat=true;

if (compat)
{
document.write("-- Vykonanie skriptu pre NETSCAPE");
}
else
{
document.write("-- Vykonanie skriptu pre EXPLORER");
}
// -->
</SCRIPT>
<BR>
<A HREF="9k.html#vos">Navrat na prirucku</a>
</H3>
</BODY>
</HTML>

Predchadzajuca kapitola - Obsah