©ilj@flowsim.se
JavaScript på svenska
klarar webbläsaren av scriptet?
>>>ta reda på skärmegenskaper & färgdjup



 

 
 
 
 
 
 
 
 
 
 
 
 

 
Eftersom saker och ting fungerar på olika sätt i olika webbläsare så bör man kolla om den kod man tänker köra fungerar i den aktuella webbläsaren.
 
Om du tänker använda
document.getElementById kan du placera den koden i en if-sats som ser ut så här:
 

if(document.getElementById)
{
....
}
 
Kod som fungerar endast i Microsofts webbläsare (fr o m version 4) kan placeras i en if-sats som ser ut så här:
 

if(document.all)
{
....
}
 
Kod som använder LAYER-taggen och fungerar endast i Netscape 4.x kan placeras i en if-sats som ser ut så här
 

if(document.layers)
{
....
}
 
Kod som kollar om det är OK att byta bilder kan placeras i en if-sats som ser ut så här
 

if(document.images)
{
....
}
 
 
Här är ett script som tar reda på exakt vilken webbläsare personen som tittar på sidan använder:
 
<SCRIPT LANGUAGE="JavaScript"
TYPE="
text/javascript">
<!--
webbl="nogood" //1
if((navigator.appName=="Netscape")&& (parseInt(navigator.appVersion)>=3))//2
{webbl="N"}//3
else if((navigator.appName=="Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>3)//4
{webbl="MIE"}//5
else {alert('TEXT TEXT')}//6
//
-->
</SCRIPT>
 
Scriptet förutsätter förstås att webbläsartillverkarna fortsätter att namnge webbläsarna enligt samma princip...
 
Förklaringar:
1 här sätts variabeln
webbl , som ska hålla reda på webbläsaren, till nogood.
2 den här raden kollar om den använda webbläsarens namn är Netscape OCH om versionen är minst 3.
Hur?
navigator.appVersion plockar fram versionsnumret (som t ex skulle kunna vara 4.05).
Ur det plockas så, med hjälp av
parseInt(), heltalet som sedan jämförs med siffran 3: är versionsnumret större än eller lika med 3?
Om den som tittar på sidan där den här koden finns använder Netscape 4.7 är alltså de här villkoren uppfyllda och koden på nästa rad utförs, dvs
3
webbl sätts till N.
4,5 de här raderna kollar på samma sätt om webbläsaren som används är Microsofts Internet Explorer i version 4 eller senare.
6 om personen som tittar på sidan använder någon annan webbläsare, t ex Netscape 2 eller MIE 3 så utförs i stället koden på den här raden. Som den raden ser ut här ovanför så visas helt enkelt ett meddelandefönster. I stället för TEXT TEXT kan man förstås skriva in vilken text som helst, någonting om att sidan är tänkt att fungera i nyare webbläsare till exempel.
Om man i stället vill ladda en alternativ sida kan man byta ut
alert('TEXT TEXT')
mot t ex
window.location='annansida.html'
vilket innebär att om personen använder Netscape i version 2 eller tidigare ELLER MIE i version 3 eller tidigare ELLER någon annan webbläsare så kommer sidan
annansida.html automatiskt att laddas... OM, förstås, JavaScript fungerar och inte är avaktiverat i den aktuella webbläsaren...
Ett annat sätt att ladda en alternativ sida är att använda ett skript på servern.
 
Variabeln
webbl sätts alltså när sidan laddas. Därefter kan man använda webbl för att försäkra sig om att bara rätt kod utförs. Så här t ex:
 
if(webbl=="N") //OBS! 2 likhetstecken!
  {
  här placeras koden som fungerar i endast Netscape 3 eller senare
  }
if(webbl=="MIE") //
OBS! 2 likhetstecken!
  {
  här placeras koden som fungerar i endast MIE 4 eller senare
  }
 

 
För att kolla om webbläsaren klarar av att byta bilder (dvs sådan kod som används t ex för att skapa menybilder som byter färg, rör på sig mm) kan man använda
 
if(document.images)
{
kod som byter bilder
}
 
Vad händer i andra webbläsare? Om bilden placerats på sidan med vanlig HTML, en IMG-tagg alltså, så är det den bild som angetts efter SRC som syns på sidan. När man däremot för muspekaren över bilden, klickar på den eller vad det nu är som anropar koden, så händer ingenting om koden är placerad som här ovanför.
 

 

Sidan gjordes av
 
ilj
 
ilj@flowsim.se
 

 
Senast ändrad 21 augusti 1997.
 
Den här sidan hör hemma i ett ramsystem
hos:
www.flowsim.se
JavaScript på svenska