Avatar billede chaser64 Nybegynder
28. september 2005 - 13:07 Der er 11 kommentarer

Tjek om browser er IE 4.0 eller større

Hej Eksperter,

Skal lave et script der kræver IE 4.0 - men aner ikke hvordan jeg skal teste browseren.

Jeg har prøvet at gøre det med:
<%=Request.ServerVariables("HTTP_USER_AGENT")%>

Men den udskriver en lang tekst-streng som er svær at sammenligne :o)

Meeeen helt sikkert at der er folk der har haft samme problem som mig, altså:

Hvis browser er lig IE 4.0 eller større skal den vise x.asp
Hvis ikke skal den vise y.asp


på forhånd tak :o)

/Casper
Avatar billede pelskee Nybegynder
28. september 2005 - 13:29 #1
eksempel på browser check der tager 2 forskellige menuer 1 hvis det er ie og en anden hvis det er en anden browser:

<%
  dim UserAgent
  UserAgent = Request.ServerVariables("HTTP_USER_AGENT")
  if instr(1,UserAgent,"MSIE") > 0 then
%>
<iframe src="../include/menu_produkter.asp" scrolling="no" height="100%" width="100%" frameborder="0"></iframe>
<%else%>
<iframe src="../include/alt_menu_produkter.asp" scrolling="no" height="100%" width="100%" frameborder="0"></iframe>
<%End if%>
Avatar billede thesurfer Nybegynder
28. september 2005 - 14:18 #2
<%
dim side
side = "y.asp" ' standard: vis ANDET end IE 4+
ua = request.servervariables("HTTP_USER_AGENT") ' put UserAgent i variablen "ua"

if instr(request.servervariables("HTTP_USER_AGENT"),"MSIE") > -1 then
    ' en er en "MSIE"/IE.. hent version nummer:
    v = mid(ua, instr(ua, "MSIE") + 5)
    v = CInt(left(v, instr(v, ".")-1)) ' variablen "v" indeholder nu versionnummeret (f.eks. "4" eller "6")

    if v >= 4 then side = "y.asp" ' hvis v er "lig med" eller "større end" 4, er det IE 4+, dvs "y.asp"
end if
%>

Nu kan du bare loade siden, ved at bruge variablen "side".

Eksempel: <% response.redirect side %>

/theSurfer
Avatar billede thesurfer Nybegynder
28. september 2005 - 14:22 #3
hmm.. den kunne ikke lide linien: v = CInt(left(v, instr(v, ".")-1))
Så jeg har skrevet den om.. nu virker den..

<%
dim side
side = "y.asp" ' standard: vis ANDET end IE 4+
ua = request.servervariables("HTTP_USER_AGENT") ' put UserAgent i variablen "ua"

if instr(request.servervariables("HTTP_USER_AGENT"),"MSIE") > -1 then
    ' en er en "MSIE"/IE.. hent version nummer:
    v = mid(ua, instr(ua, "MSIE") + 5)
    v = left(v, instr(v, ".")-1) ' variablen "v" indeholder nu versionnummeret (f.eks. "4" eller "6")
    v = CInt(4)
    if v >= 4 then side = "y.asp" ' hvis v er "lig med" eller "større end" 4, er det IE 4+, dvs "y.asp"
end if
%>

Nu kan du bare loade siden, ved at bruge variablen "side".

Eksempel: <% response.redirect side %>

- Svar.

/theSurfer
Avatar billede thesurfer Nybegynder
28. september 2005 - 14:24 #4
Great.. jeg er kommet til at skrive "y.asp" to gange :-)
Jeg er sikker på, at du kan finde ud af, at rette det :-)

/theSurfer
Avatar billede chaser64 Nybegynder
28. september 2005 - 17:39 #5
Både IE og Firefox hopper til IE siden :ó(


<%
If Request.QueryString("Action") = "" Then
    dim side
    side = "?Action=MOZ" ' standard: vis ANDET end IE 4+
    ua = request.servervariables("HTTP_USER_AGENT") ' put UserAgent i variablen "ua"

    if instr(request.servervariables("HTTP_USER_AGENT"),"MSIE") > -1 then
        ' en er en "MSIE"/IE.. hent version nummer:
        v = mid(ua, instr(ua, "MSIE") + 5)
        v = left(v, instr(v, ".")-1) ' variablen "v" indeholder nu versionnummeret (f.eks. "4" eller "6")
        v = CInt(4)
        if v >= 4 then side = "?Action=IE" ' hvis v er "lig med" eller "større end" 4, er det IE 4+
    end if
   
    Response.Redirect side
   
ElseIf Request.QueryString("Action") = "IE" Then
%>
IE
<%
Else
%>
MOZILLA
<%
End IF
%>
Avatar billede chaser64 Nybegynder
29. september 2005 - 11:24 #6
thesurfer >> Kom så op af det bræt og op af vandet, så du kan hjælpe mig ;o)

(Med mindre det er på nettet du surfer =D )
Avatar billede thesurfer Nybegynder
29. september 2005 - 12:47 #7
hmm.. du har afvist mit svar.. selvom jeg smed rettelsen i 28/09-2005 14:24:17:

<%
dim side
side = "ikke_ie.asp" ' standard: vis ANDET end IE 4+
ua = request.servervariables("HTTP_USER_AGENT") ' put UserAgent i variablen "ua"

if instr(request.servervariables("HTTP_USER_AGENT"),"MSIE") > -1 then
    ' en er en "MSIE"/IE.. hent version nummer:
    v = mid(ua, instr(ua, "MSIE") + 5)
    v = left(v, instr(v, ".")-1) ' variablen "v" indeholder nu versionnummeret (f.eks. "4" eller "6")
    v = CInt(4)
    if v >= 4 then side = "ie.asp" ' hvis v er "lig med" eller "større end" 4, er det IE 4+, dvs "y.asp"
end if
%>


Så nu hedder siderne "ie.asp" og "ikke_ie.asp".

/theSurfer
Avatar billede thesurfer Nybegynder
29. september 2005 - 12:54 #8
Prøv evt at tilføje filnavnet på din side (f.eks. "index.asp" hvis det er siden der udfører koden):

    side = "?Action=MOZ" ' standard: vis ANDET end IE 4+

og

        if v >= 4 then side = "index.asp?Action=IE" ' hvis v er "lig med" eller "større end" 4, er det IE 4+

/theSurfer
Avatar billede thesurfer Nybegynder
29. september 2005 - 12:59 #9
Hvis koden skal indsættes på mange sider:

dim mig ' variablen "mig" kommer til at indholde filnavnet på selve filen, som den er i
mig = mid(request.servervariables("script_name"), 2)
Response.Redirect mig & side

Det kommer til at se sådan ud (hvis koden ligger i "index.asp"):

index.asp?Action=IE

eller

index.asp?Action=MOZ
Avatar billede chaser64 Nybegynder
02. oktober 2005 - 11:31 #10
Hvad er ændringen??

Begge browsere bliver stadig sendt til IE-siden :o(
Avatar billede thesurfer Nybegynder
03. oktober 2005 - 10:27 #11
Som jeg skrev i 29/09-2005 12:59:26:

index.asp=Action=NogetHer (IE eller MOZ).

Dvs, der kommer filnavnet (på selve siden) med..

Det virker fint hos mig. -- Prøv igen.

/theSurfer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester