Redirectarea și detectarea tipului de browser


În JavaScript puteți detecta tipul de browser al vizitatorului și chiar și versiunea de JavaScript pe care acesta o are instalată, și deasemeni, puteți, în funcție de situație, să redirecționați vizitatorii spre alte pagini. Pentru a redirecționa un utilizator folosiți comanda de mai jos:


Cod:

<script language="JavaScript1.5" type="text/javascript">
window.location="pagina_noua.html"
</script>

Atributul language al tagului script vă permite să specificați versiunea minimă pe care trebuie să o aibă browserul pentru ca să poata rula scriptul. În exemplul de mai sus am specificat versiunea minimă 1.5 sau o versiune mai nouă. Dacă browserul nu are versiunea minimă va apare în fereastra browserului un mesaj asemănător cu cel de mai jos:

You won't get much from this site using a browser with an old version of JavaScript -- I suggest that you upgrade now!

Următoarea linie

window.location="pagina_noua.html"

îi spune browserului să încarce pagina specificată în locul paginii curente. Se poate specifica atât o cale relativă la documentul curent, cât și o cale reală.
O pagină poate conține scripturi care să corespundă unor versiuni diferite ale limbajului, astfel putem avea în aceeași pagină scripturi care să ruleze începând de la o anumită versiune și alte scripturi care să ruleze de la alte versiuni de JavaScript. Nu se poate specifica rularea scriptului doar pentru o anumită versiune de JavaScript, de exemplu doar pentru versiunea 1.1 Atributul language va accepta versiunea specificată, dar și orice altă versiune ulterioară de JavaScript, ba mai mult, unele browsere, încearcă să interpreteye codul din scriptul JavaScript chiar și dacă nu corespunde versiunea cerută.
Ar trebui să aveți grijă ca la scrierea de cod să nu puneți informații esențiale în JavaScript, astfel cei care nu au un browser recent, sau browserul lor nu suportă JavaScript, să poata totuși vedea conținutul paginii.

În exemplul prezentat anterior, redirectarea utilizatorului se face când deja a fost încărcată o bună parte din pagina curentă. Metoda următoare prezintă o alternativă mai bună pentru redirecționare, și anume prin intermediul unui link.


Cod:

<a href="pagina_2.html" onClik="window.location='pagina_noua.html'; return false">Clik aici</a>

Codul JavaScript este inclus complet în tagul de legătură. În cazul în care un vizitator nu are activ JavaScript și dă clik pe link, se va încărca pagina pagina_2.html iar dacă are activ JavaScript se va încărca pagina pagina_noua.html
Porțiunea return false indică oprirea procesării paginii și astfel pagina corespunzătoare lui a href nu mai este încărcată

Pentru detectarea tipului de browser puteți folosi ca idee scriptul de mai jos:


Cod:

<script language="javascript" type="text/javascript">
<!--
if (
navigator.appName == "Microsoft Internet Explorer")
    {
    
document.write("Rulati un browser Internet Explorer")
    }
else
    {
    if (
navigator.appName == "Netscape")
        {
        
document.write("Rulati un browser Netscape")
        }
    else
        {
        
document.write("Nu rulati Netscape sau IE")
        }
    }
//-->
</script>

O altă metodă de a afișa direct numele de browser este:


Cod:

<script language="javascript" type="text/javascript">
<!--
document.write("Numele browserului este: "+navigator.appName)
//-->
</script>
?>


Rezultatul scriptului de mai sus îl puteți vedea aici:

Numele browserului este: Netscape

Multe browsere au posibilitatea de a evita detectarea numelui prezentându-se intenționat drept un alt browser. Puteți redirecționa vizitatorii în funcție de tipul de browser pe care îl au, folosind ideile și explicațiile prezentate în acest articol.