webForumDet fria alternativet

If not-sats för http_user_agent fungerar inte

ASP

5 svar · 217 visningar · startad av robert999

Medlem sedan maj 200327 inlägg
Frågan#1

Tanken med det här scriptet är att webläsare som inte innehåller strängen mozilla i sin http_user_agent skall skickas vidare till en särskild sida och alla andra normala webläsare hoppa vidare till html-stycket längre ned.

Tyvärr blir resultatet att alla webläsare skickas vidare istället för att följa else-satsen ned till html-koden. Någon som kan förstå varför detta inte fungerar eller har förslag på hur det borde se ut?

<%
dim webhuvud
webhuvud = Lcase (Request.ServerVariables("http_user_agent"))
If not InStr(webhuvud,"mozilla") then
Response.Redirect "http://exempelvisminhemsida.se/ejmozilla.asp"
else
%>

<HTML>
Hejsan alla mozilla-läsare!
</HTML>

<%end if%>

Medlem sedan dec. 20003 563 inlägg
#2

Har du kikat hur http_user_agent faktiskt ser ut för respektive läsare? Skulle tro att just Mozilla förekommer i nästan alla dessa.

Du borde leta efter något annat, t.ex. MSIE är något som bara förekommer för IE-användare.

dim webhuvud
webhuvud = Lcase (Request.ServerVariables("http_user_agent"))
If InStr(webhuvud,"msie") = 0 then
 ' Du har INTE IE
else
 ' Du har IE
end if

edit:

I Firefox:
HTTP_USER_AGENT = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
I IE:
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Medlem sedan maj 200327 inlägg
#3

Tack för ditt svar, MEN poängen med mitt script är att just använda mig av mozilla-strängen eftersom den används av alla normala webläsare (ie, netscape, firefox, etc). De få övriga vill jag däremot skicka vidare till en särskild sida.

Mitt problem är att det script som följer nedan i detta inlägg fungerar utmärkt, men inte mitt script i huvudinlägget. Den enda skillnaden är att jag kastat om ordningen och försöker använda en IF NOT-sats.

Mycket märkligt att koden nedan fungerar utmärkt med inte koden ovan i huvudinlägget! Mycket märkligt...

<%
dim webhuvud
webhuvud = Lcase (Request.ServerVariables("http_user_agent"))
If InStr(webhuvud,"mozilla") then
%>

<HTML>
Hejsan alla mozilla-läsare!
</HTML>

<%
else
Response.Redirect "http://exempelvisminhemsida.se/ejmozilla.asp"
%>
<%end if%>

Medlem sedan apr. 20022 743 inlägg
#4
If InStr(webhuvud,"mozilla") = 0 Then

Som cyprys skrev...

Medlem sedan maj 200327 inlägg
#5

Ah, tusen tack till er båda! Ibland behöver man någon som ger de rätta svaren och ytterligare en person som vägleder... Nu fungerar det utmärkt. STORT tack ännu en gång.

Medlem sedan dec. 20003 563 inlägg
#6

Aha. Trodde du ville separera på en lägre nivå. Alltså IE vs Mozilla/Firefox/Opera/osv.

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)