---
title: "Problem med If-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11817-problem-med-if-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Method"
published: "2001-09-27T09:34:00.000Z"
updated: "2001-09-27T19:14:00.000Z"
replies: 8
views: 272
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/asp/11817-problem-med-if-sats"
---

# Problem med If-sats

## #1 — Method, 2001-09-27T09:34Z

varför fungerar inte denna if-satsen?

```
<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
```

Den funkar bara när man kommer med MSIE 5.5 inte de andra MSIE 6 och Mozilla/5

Sen en annan fråga finns det något lättare sätt att göra det på, för att få ner kodmängden?

Tack på förhand

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

## #2 — emission, 2001-09-27T12:52Z

Vad ska hända?

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

## #3 — Bjuris, 2001-09-27T12:53Z

IE6 verifieras inte den som NS4 ? så var det i varje fall för mej tills jag uppdaterade browscap.ini.

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

## #4 — Method, 2001-09-27T13:17Z

> Vad ska hända?

 

Så här vill jag egentligen att det skall hända:

Jag kör denna kod 

```
<% 
		userAgent = Request.ServerVariables( "HTTP_USER_AGENT" ) 
		IF INSTR( userAgent, "MSIE 5.5" ) > 0 THEN 
		Server.Execute("exclude/css_meny/meny_inc.txt")
		
		ELSEIF INSTR( userAgent, "Mozilla/5" ) > 0 THEN 
		Server.Execute("exclude/css_meny/meny_inc.txt")
		
		ELSEIF INSTR( userAgent, "MSIE 6" ) > 0 THEN 
		Server.Execute("exclude/css_meny/meny_inc.txt")
		
		ELSE 
		Response.Write "<script language=""JavaScript"" src=""exclude/jslib/menu/dhtmllib.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/navbar.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/menu.js""></script>" 

		END IF 
		%>
```

Den ovanstående koden känner av vilken webbläsare man kommer med, för javascript menyn fungerar inte med NN 6 och MSIE 6 därför gör jag på detta sätt för den nya menyn funkar inte i gamla webbläsare.

till javascriptet behövs denna kodsnutten i BODY-taggen 

```
onload="init()"
```

Och det ända sättet jag kom fram till var den kod jag har här 

```
<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
```

och det är för att skriva ut den kodsnutten onload="init()"

För jag får ett felmedelande när den nya menyn visas när onload="init()" ligger i body-taggen

Och min fråga var varför det bara funkar med MSIE 5.5 och inte de andra?

För den överst If-satsen funkar med menyväljaren.

Och om det går att göra på något bättre sätt.

> IE6 verifieras inte den som NS4 ? så var det i varje fall för mej tills jag uppdaterade browscap.ini.

Har jag inte märkt av 

Hoppas jag har gjort mig förstående vad jag vill ha ;)

Tack på förhand

Jonas

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

## #5 — @nders, 2001-09-27T17:16Z

> IE6 verifieras inte den som NS4 ? så var det i varje fall för mej tills jag uppdaterade browscap.ini.

Nej, absolut inte. Om man inte använder komponenten browscap förstås. Om du analyserar en sträng på detta sätt så har browscap.ini inte med saken att göra.

Method: varför din if-sats inte gör sitt jobb ordentligt kan jag inte svara på. Jag hade dock börjat med att kolla kontrollustkrifter med Netscape 6 / IE6.

```
Response.write "User agent: " & request.servervariables ("http_user_agent") & "<br>" 
Response.write INSTR(Request.Servervariables("http_user_agent"), "MSIE 6") & "<br>"
Response.write INSTR(Request.Servervariables("http_user_agent"), "Mozilla/5")
```

Mvh,

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

## #6 — Method, 2001-09-27T18:51Z

det är inget fel på denna 

```
<% 
userAgent = Request.ServerVariables( "HTTP_USER_AGENT" ) 
IF INSTR( userAgent, "MSIE 5.5" ) > 0 THEN 
Server.Execute("exclude/css_meny/meny_inc.txt")

ELSEIF INSTR( userAgent, "Mozilla/5" ) > 0 THEN 
Server.Execute("exclude/css_meny/meny_inc.txt")

ELSEIF INSTR( userAgent, "MSIE 6" ) > 0 THEN 
Server.Execute("exclude/css_meny/meny_inc.txt")

ELSE 
Response.Write "<script language=""JavaScript"" src=""exclude/jslib/menu/dhtmllib.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/navbar.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/menu.js""></script>" 
END IF 
%>
```

Det är denna if-satsen det är fel på

```
<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
```

Så jag vet att den känner av rätt webbläsare på den första koden jag har

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

## #7 — @nders, 2001-09-27T18:55Z

Ska du verkligen ha en *not* först?

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

## #8 — @nders, 2001-09-27T18:58Z

Du borde inte få ha en end if på den raden heller, eftersom hela alltet står på en rad.

Du kan ju också prova detta, sätt en kontrollvariabel, så behöver du bara göra kollen en gång.

```
<% 
userAgent = Request.ServerVariables( "HTTP_USER_AGENT" ) 
doInit = false
IF INSTR( userAgent, "MSIE 5.5" ) > 0 THEN 
	Server.Execute("exclude/css_meny/meny_inc.txt")
	doInit = true
ELSEIF INSTR( userAgent, "Mozilla/5" ) > 0 THEN 
	Server.Execute("exclude/css_meny/meny_inc.txt")
	doInit = true
ELSEIF INSTR( userAgent, "MSIE 6" ) > 0 THEN 
	Server.Execute("exclude/css_meny/meny_inc.txt")
	doInit = true
ELSE 
Response.Write "<script language=""JavaScript"" src=""exclude/jslib/menu/dhtmllib.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/navbar.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/menu.js""></script>" 
END IF 
%>
```

```
if doInit Then Response.Write "onload=""init()"""
```

Mvh,

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

## #9 — Method, 2001-09-27T19:14Z

Jippie tack anders ännu engång har du räddat mig.....;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11817-problem-med-if-sats
