Vilken webbläsare används?

Den dåliga lösningen

En del javaskript fungerar i Internet Explorer med inte i Netscape och tvärtom. En del skript kräver dessutom en tillräckligt ny webbläsarversion för att fungera.

En vanlig men mycket dålig lösning är då att tala om för besökaren att han har fel webbläsare, eller en för gammal webbläsare. Eller - vilket är ännu värre – skicka besökaren till en nedladdningssida där han kan hämta en annan webbläsare än den han redan är nöjd med!

Den bra lösningen

I stället använder vi ett skript som först undersöker vilken webbläsare besökaren använder, och sedan skickar honom vidare till en sida som lämpar sig för just den webbläsaren.

Detta skript placerar vi på en ny sida, vars enda funktion är just att undersöka vilken webbläsare som används och skicka besökaren till rätt sida. Själva sidan med skriptet skall aldrig visas.

Tidigare, i avsnittet om lösenord, lärde vi oss att använda den här metoden för att öppna en sida från ett javaskript:

if (sesam==sesam1)
{
    window.location="pass2.html";
}
else
{
    window.location="../10.html";
}

Det vill säga: Om "sesam" är lika med "sesam1" skall sidan pass2.html öppnas. Om "sesam" inte är lika med "sesam1" skall sidan ../10.html öppnas.

Det här skall i ombyggt skick vara med på en sida som öppnas med en länk. Men när det gäller webbläsare finns det mer än två möjligheter. Besökaren kan använda Netscape, Internet Explorer eller något annat.

Därför behöver vi ytterligare en else-sats, som tar hand om situationen där besökaren varken använder Netscape eller Internet Explorer. Utan denna extra else-sats, öppnas sidan som innehåller skriptet och besökaren ställs inför en till synes helt tom sida.

Först tar vi den variabel som undersöker vilken webbläsare som används:

var webblasare=navigator.appName;

Det vill säga: Variabeln webblasare skall vara webbläsarens (navigator) namn (appName). Nu sätter vi in detta i skriptet:

<SCRIPT language="JavaScript">
<!-- Göm
var webblasare=navigator.appName; 
// Sluta gömma -->
</SCRIPT>

Och lägger till de delar som skickar besökaren vidare till rätt sida:

<SCRIPT language="JavaScript">
<!-- Göm
var webblasare=navigator.appName; 
    if (webblasare=="Netscape")

    window.location="ns.html";
}
    else 

    if (webblasare=="Microsoft Internet Explorer")
{
    window.location="ie.html";
}
    else
{
    window.location="annat.html";
}
}
// Sluta gömma -->
</SCRIPT>

if (webblasare=="Netscape")
Först undersöks om webbläsaren är Netscape. I så fall öppnas sidan ns.html.

if (webblasare=="Microsoft Internet Explorer")
Sedan undersöks om webbläsaren är Internet Explorer. I så fall öppnas sidan ie.html.

window.location="annat.html";
Om inget av de båda ovanstående villkoren uppfylls, skickas besökaren till sidan annat.html.

Här kan du testa det här skriptet och öppna rätt sida för din webbläsare

Webbläsarversioner

Men det är inte bara webbläsaren som sådan som inverkar på skriptkörningen – ibland handlar det dessutom om vilken version webbläsaren har. Då använder vi följande:

var webblasarVersion=parseInt(navigator.appVersion);

Det vill säga: Variabeln "webblasarVersion" skall vara heltalsdelen (parseInt) av webbläsarens (navigator) version (appVersion). Så noga att vi måste ta reda på om det är Netscape 4.51 eller Internet Explorer 5.50 behöver vi normalt inte vara; vi nöjer oss med Netscape 4 och Internet Explorer 5.

Nu petar vi in detta i ett skript. Detta placerar vi på en sida som skall undersöka om webbläsarversionen är Netscape 3+ eller Internet Explorer 4+. När detta är gjort skall besökaren skickas vidare till en sida som är anpassad för webbläsarversionen:

<SCRIPT language="JavaScript">
<!--
var webblasare=navigator.appName; 
var webblasarVersion=parseInt(navigator.appVersion); 
if ((webblasare=="Netscape" && webblasarVersion>=3) || (webblasare=="Microsoft Internet Explorer" && webblasarVersion>=4)) 
{
window.location="nyare.html";
}
else
{
window.location="gamla.html";
}
//-->
</SCRIPT>

if ((webblasare=="Netscape" && webblasarVersion>=3) || (webblasare=="Microsoft Internet Explorer" && webblasarVersion>=4))
Om webbläsaren är Netscape och (&&) versionen 3 eller nyare (>= betyder "större än eller lika med"), eller (||) om webbläsaren är Internet Explorer i version 4 eller nyare, skall sidan nyare.html öppnas.

window.location="gamla.html";
Om webbläsaren är Netscape äldre än version 3, eller om webbläsaren är Internet Explorer äldre än version 4, skall sidan gamla.html öppnas.

Här behöver vi ingen tredje valmöjlighet, eftersom det bara finns två svar.

Jämförande och logiska operatorer

I if-satsen ovan använde vi jämförande och logiska operatorer. Läs mer om dessa här.

© SupportData.Net