---
title: "Evighetsloop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18868-evighetsloop"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Tim"
published: "2002-02-06T12:31:00.000Z"
updated: "2002-02-07T06:33:00.000Z"
replies: 6
views: 249
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/18868-evighetsloop"
---

# Evighetsloop

## #1 — Tim, 2002-02-06T12:31Z

Följande mycket enkla script, fungerar inte. Webbläsaren ser ut att hamna i en evighetsloop när sidan körs.

Som synes är det ett modifierat script hämtat från Jojo's hemsida(originalet fungerade inte heller):

\<script type="text/javascript"\>
/\* Detta script finns att hämta på <http://www.jojoxx.net>  och
   får användas fritt så länge som dessa rader står kvar. \*/

if (navigator.appName == "Netscape"){
		location.href="section4r.htm";
	} else {
		location.href="section4.htm";
	}\</script\>

Sidan jag kör heter section4.htm.

Permalänk: https://www.webforum.nu/p/18868

## #2 — Web-Tor, 2002-02-06T13:00Z

Det är väl inte så konstigt. Det enda scriptet gör är ju att det laddar om sida. Efter att den laddat om sidan så gör den det en gång till...och en gång till...och en gång till...

Vill då få nåt vettigt att hända så får du byta ut värdet på **location.href**

/r Såg lite fel: Går du in på sidan med Netscape så skall det funka - då kommer du till sidan section4**r**.htm

Permalänk: https://www.webforum.nu/p/336474

## #3 — Jojoxx, 2002-02-06T16:11Z

Jupp, det är alltså **section4.htm** du skall byta ut, alltså sidan du kommer till ifall du **inte** använder Netscape.

Permalänk: https://www.webforum.nu/p/336475

## #4 — Tim, 2002-02-06T16:18Z

Jag tog helt enkelt bort else-satsen.

Mitt egentliga mål är att alla med Netscape och IE 5 eller lägre ska till en sida, resten till en annan. Men då vart det lite problem:

\<script type="text/javascript"\>
/\* Detta script finns att hämta på <http://www.jojoxx.net>  och
   får användas fritt så länge som dessa rader står kvar. \*/

if (navigator.appName == "Netscape"){
		self.location.href="section4r.htm";
} else if(navigator.appName=="Microsoft Internet Explorer" && navigator.appVersion \<="5") {
		
self.location.href="section4r.htm";

}
\</script\>

Detta gör att jag kommer till section4r.htm oavsett om jag har IE6 eller inte. Detta skript körs från section4.htm.

Permalänk: https://www.webforum.nu/p/336476

## #5 — Jojoxx, 2002-02-06T16:28Z

navigator.appVersion är en lång text-sträng och kan därför inte jämföras med ett numeriskt värde. Det är inte heller första numret i strängen som är intressant eftersom det inte är versionen av webbläsare, så det blir så här (det är även onödigt med en else-sats);

```
if (navigator.appName=="Netscape" &#0124;&#0124; navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE')+5,navigator.appVersion.length))<=5){
location.href="section4r.htm";
}
```

(if-satsen fram till "{" är en enda lång rad.)

Permalänk: https://www.webforum.nu/p/336477

## #6 — Tim, 2002-02-06T21:19Z

Allt bra är komplicerat, så är det bara.

Tack för hjälpen!!

För resten, finns det inget enklare sätt att göra det på?

Permalänk: https://www.webforum.nu/p/336478

## #7 — Jojoxx, 2002-02-07T06:33Z

Det kanske ser komplicerat ut för att det är en lång rad, men det är inte speciellt komplicerat, och det gör precis det du frågar efter -- kollar namnet på webbläsaren (även om detta går att ändra) och version av IE.

Däremot finns det säkert *bättre* sätt att lösa det på beroende av vilken anledning du vill skilja webbläsarna åt. Är det ex. objektmodellsproblem kan du skilja på Netscapes gamla objektmodell med document.layers, IE's gamla med document.all och DOM med document.getElementById, osv.

Permalänk: https://www.webforum.nu/p/336479

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18868-evighetsloop
