Avatar billede doctorking Nybegynder
06. november 2001 - 13:36 Der er 7 kommentarer

browser tjek

Jeg skal bruge et stykke kode der tjekker om brugerens browser enten er IE ell. Netscape, og så kalder det ene eller det andet stylesheet...
Avatar billede nogetfx Nybegynder
06. november 2001 - 13:39 #1
<%
\' Af Jan Vinten (jan@vinten.net) d. 11.07.2001
\' Testet på følgende browsere:
\'                                Internet Explorer 4.0, 5.01 & 5.5
\'                                Netscape 2.02, 3.01, 4.78 & 6.01
\'                                Opera 5.12
\'
\' Sprøgsmål? Brug http://www.activeserverpages.dk\'s forum! :o)

strUA = Request.ServerVariables(\"HTTP_USER_AGENT\")

\' Hvad skal regnes for, at være en gammel browser?
reqIE        = \"4.00\"    \' Skal være X.XX    Det er incl. og mindre end!
reqNet        = \"4.00\"    \' Skal være X.XX
reqOpera    = \"4.00\"    \' Skal være X.XX

    If (InStr(strUA, \"MSIE\")) AND (InStr(strUA, \"Opera\") = 0) Then  \' Jeg fandt en Internet Explorer
        intVersion = Trim(Mid(strUA, InStr(strUA, \"MSIE\") + 5, 4))
        If (Mid(intVersion, 4, 1) = \";\") Then
            intVersion = Trim(Mid(intVersion, 1, 3)) + \"0\"
        End If
        Response.Write(\"Jeg fandt Internet Explorer version \" & intVersion)
        If (intVersion <= reqIE) Then
            Response.Write(\" som regnes for, at være en gammel version\")
        End If
    Else 
        If InStr(strUA, \"Mozilla\") Then  \' Jeg fandt en Mozilla

            If InStr(strUA, \"compatible;\") = 0 _
            And InStr(strUA, \"Opera\") = 0 Then  \' Satser på det er en Netscape
                intVersion = Trim(Mid(strUA, InStr(strUA, \"/\") + 1, 4))
                \' Hvis der står Netscape 5.0 - så er det en version 6! Netscape er underlig!
                If(intVersion = \"5.0\") Then
                    intVersion = Trim(Mid(strUA, InStr(strUA, \"6/\") + 2, 4))
                End If

                Response.Write(\"<br><br>Jeg fandt Netscape version \" & intVersion)
                If (intVersion <= reqNet) Then
                    Response.Write(\" som regnes for, at være en gammel version\")   
                End If

            Else  \' Ok, det var altså ikke en Netscape

                If InStr(strUA, \"Opera\") Then
                \' Mon ikke det er en Opera browser? :o)
                    intVersion = Trim(Mid(strUA, InStr(strUA, \"Opera\") + 5, 5))
                    Response.Write(\"Jeg fandt Opera browser version \" & intVersion)
                    If (intVersion <= reqOpera) Then
                        Response.Write(\" som regnes for, at være en gammel version\")       
                    End If
                Else
                    \' Underlig browser - jeg aner ikke hvilken en det er?! :o(
                    Response.Write(\"Hm! Underligt... jeg kan ikke finde ud af hvilken browser det er!\")
                End If

            End If

        End If

    End If
   
%>

Avatar billede doctorking Nybegynder
06. november 2001 - 13:42 #2
Det eneste det skal gøre er at tjekke om det er Netscape eller IE. Bagefter skal dete så vælge det ene eller det andet stylesheet....
Avatar billede nogetfx Nybegynder
06. november 2001 - 13:44 #3
Det er bare at skifte ud hvor den skriver hvad browser det er...
Avatar billede doctorking Nybegynder
06. november 2001 - 13:48 #4
skal koden være så lang? Jeg er ret ligeglad med Opera..
Avatar billede nogetfx Nybegynder
06. november 2001 - 13:52 #5
Den kan du vel bare fjerne, jeg ved ikke lige hvad af det... MEn det kan du vel sjusse dig frem til..
Avatar billede doctorking Nybegynder
06. november 2001 - 13:53 #6
hvis jeg havde styr på det havde jeg nok ikke stillet spørgsmålet!
Jeg kunne godt tænke mig et der bare kan cut\'n\'paste\'s....ikke cut\'n\'move....
Avatar billede nogetfx Nybegynder
06. november 2001 - 13:59 #7
strUA = Request.ServerVariables(\"HTTP_USER_AGENT\")

\' Hvad skal regnes for, at være en gammel browser?
reqIE        = \"4.00\"    \' Skal være X.XX    Det er incl. og mindre end!
reqNet        = \"4.00\"    \' Skal være X.XX

            If InStr(strUA, \"compatible;\") = 0 _
            And InStr(strUA, \"Opera\") = 0 Then  \' Satser på det er en Netscape
link til netscape

                intVersion = Trim(Mid(strUA, InStr(strUA, \"/\") + 1, 4))

Else
Link til EI-Style


End If

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