Avatar billede cherita.dk Nybegynder
28. september 2001 - 11:23 Der er 23 kommentarer

Browserchecker

Hej!

Mit site virker uden problemer med Netscape 4.5 og højere og IE 4 og op.

Har man under dette popper en alert op og orienterer om dette. Kan en sådan alert laves så den også tager hensyn til, præcist hvilken browser version man har? Nedenståene javascript tjekker kun \"hele\" versioner (altså f.eks. 4, 5 etc). Kan det laves så det uden pop-up videresender til start.htm hvis man har NS 4.5, men der kommer pop-up, hvis man bruger f.eks. NS 4.3?


Dette bruges nu :

<script language=javascript >
<!--
var browserName = navigator.appName;
var browserVersion = navigator.appVersion;
var browserVersionNum = parseFloat(browserVersion);
                                                      if(browserVersionNum<4.0 || browserName!=\"Microsoft Internet Explorer\")
          {
alert(\"\\nSiden understøtter bedst browseren Microsoft Internet Explorer version 4 og opefter.\"
                                                      +\"\\n\\nDu kan godt bruge siden med en Netscape browser - du skal dog have en version 4.5 eller højere\");
}
//-->
</script>
Avatar billede geek! Nybegynder
28. september 2001 - 11:30 #1
Det mener jeg ikke man kan
Avatar billede roenving Novice
28. september 2001 - 11:31 #2
Virker det da ikke hvis du skriver:

if(browserVersionNum<4.0 && browserName==\"Microsoft Internet Explorer\")
          {alert\'IE understøttes fra IE 4 og opefter}
          else if (browserVersionNum<4.5 && browserName.indexOf(\"Netscape\")
          {alert\'Netscape understøttes fra NS 4.5 og opefter}
          else alert(\'Siden kræver mindst IE4 eller NS4.5);

hth
jes
Avatar billede Slettet bruger
28. september 2001 - 11:31 #3
Men det kan det, geek! :-)
Jeg tjekker lige lidt på noget ref, jeg kan det nemmerlig ikke i hovedet!
Avatar billede Slettet bruger
28. september 2001 - 11:32 #4
Rettelse = Men det kan det ==> Men det kan man
Avatar billede Slettet bruger
28. september 2001 - 11:34 #5
Tjek http://developer.netscape.com/docs/examples/javascript/browser_type_oo.html
Dér kan du få et mega-kompliceret browser-tjek script, men det virker vildt godt!
Avatar billede cherita.dk Nybegynder
28. september 2001 - 13:54 #6
Hmmm... roenving... det er jo nok noget i den stil jeg skal bruge! Jeg kan dog desværre ikke lige få det til at virke i praksis...

Kan jeg evt. lokke dig til at justere koden så det passer??

Siden passer altså til NS 4.5 og op og IE 4 og op. Andre/ældre skal have en alert som i det oprindelige spørgsmål...

Kan ses her :
http://cherita.dk/index.htm
(og nevermind, at den p.t. ikke er optimal i en NS 4.5 - det bliver den ;)
Avatar billede roenving Novice
28. september 2001 - 14:38 #7
Ups ... et par tavetosser (som Netscape vil kløjs i !·| ):

if(browserVersionNum<4.0 && browserName==\"Microsoft Internet Explorer\")
          {alert\'IE understøttes fra IE 4 og opefter\'}
          else if (browserVersionNum<4.5 && browserName.indexOf(\"Netscape\")
          {alert\'Netscape understøttes fra NS 4.5 og opefter\'}
          else alert(\'Siden kræver mindst IE4 eller NS4.5\');

Prøv lige den først, for ellers må vi bruge noget andet end parseFloat()

;·]
Avatar billede roenving Novice
28. september 2001 - 14:39 #8
Øff ... og overseelser:

if(browserVersionNum<4.0 && browserName==\"Microsoft Internet Explorer\")
          {alert\'IE understøttes fra IE 4 og opefter\'}
          else if (browserVersionNum<4.5 && browserName.indexOf(\"Netscape\")>=0)
          {alert\'Netscape understøttes fra NS 4.5 og opefter\'}
          else alert(\'Siden kræver mindst IE4 eller NS4.5\');
Avatar billede Slettet bruger
28. september 2001 - 15:28 #9
Under alle omstændigheder er der et problem med dit originale script, da jeg får fejlmeddelelsen \"Sider kræver mindst IE4...\" og jeg bruger IE5!
Avatar billede roenving Novice
28. september 2001 - 15:37 #10
Alle løsninger skal jo postes her, så:

Ved at checke med en alert, fandt jeg desværre ikke helt ud af det, for min IE 5 meldte at den var:
4.0 (compatible; MSIE 5.0; Wind...

Så der er noget galt med metoden, hvis det skal være en præcis browserchecker, men jeg havde da lige glemt en betingelse på den sidste alert, så den har jeg sat ind:

<script language=javascript >
<!--
var browserName = navigator.appName;
var browserVersion = navigator.appVersion;
var browserVersionNum = parseFloat(browserVersion);
//alert(browserName+\'\\n\'+browserVersion+\'\\n\'+browserVersionNum);

if(browserVersionNum<4.0 && browserName==\"Microsoft Internet Explorer\")
          {alert;\'IE understøttes fra IE 4 og opefter\'}
          else if (browserVersionNum<4.5 && browserName.indexOf(\"Netscape\")>=0)
          {alert;\'Netscape understøttes fra NS 4.5 og opefter\'}
          else if (browserVersionNum<4) alert(\'Siden kræver mindst IE4 eller NS4.5\');
//-->
</script>

;·]
Avatar billede Slettet bruger
28. september 2001 - 15:40 #11
Så vidt jeg ved, er gunden til fejlen, at IE5 og vist også NS5 var bange for, at alle programmører, der udelukkede alle andre end version 4 browsere i sin tid, ikke havde tjekket for højere browsere! Derfor skriver bl.a. IE5, at versionen er 4.0!
Jeg er igang med at finde en alternativ løsning.
Men jeg kan nu stadigvæk anbefale http://developer.netscape.com/docs/examples/javascript/browser_type_oo.html ! :-)
Avatar billede roenving Novice
28. september 2001 - 15:47 #12
>>phoenixv

Ja, jeg kan godt se, at det er den ultimative browserversions- og styresystems-checker.

Men cherita.dk har næppe brug for det meget intensive check, derfor tror jeg den ovenstående vil gøre tricket.

mvh
jes
Avatar billede cherita.dk Nybegynder
28. september 2001 - 15:51 #13
Phoenixv>> Lyder lækkert! Jeg har også printet siderne ud fra dit link og leger lidt med dem! Der er bare meget at holde styr på for en lommeprogrammør :-)
roenvig>> Jeg skrev direkte til dig, da jeg - fejlagtigt - tænkte at det måske efterhånden var blevet for specifikt til at have alles interesse.. også tak til dig! :) .. har sat din kode ind og umiddelbart er det ok. Men min gamle NS 4.03 får ikke fejl alert\'en?!?
Avatar billede roenving Novice
28. september 2001 - 15:59 #14
Prøv lige at checke ved at fjerne // i alertlinjen lige under browserVersionNum-linjen.

hth
jes
Avatar billede cherita.dk Nybegynder
28. september 2001 - 16:17 #15
roenving>>
Alert\'en popper fint op nu! Men kun med info :
alert(browserName+\'\\n\'+browserVersion+\'\\n\'+browserVersionNum);

Den alert\'er ikke på baggrund af den info (altså browser mindre end NS 4.5 ---> {alert;\'Netscape understøttes fra NS 4.5 og opefter\'}  )

Og så er der vist en geneerl bug med IE6 - den rapporteres som værende 4.0.

mvh Christian
Avatar billede roenving Novice
28. september 2001 - 16:20 #16
Ja, men det var også for at se, hvad din NS 4.03 viste i anden og 3. linje, så vi kunne tage højde for det.

Bagefter skal den udkommenteres igen.

Hvis vi skal checke for IE 5 og 6 skal vi lave en .indexOf(\"MSIE 5\") og MSIE 6.

jes
Avatar billede Slettet bruger
28. september 2001 - 20:48 #17
Prøv dette script:

<script>
with (navigator) {
plac = appVersion.indexOf(\"(\");
nyStreng = appVersion.substr(plac,appVersion.length);
plac = nyStreng.indexOf(\".\") - 1;
plac2 = nyStreng.indexOf(\";\");
bVersion = parseFloat(nyStreng.substr(plac,plac2));
alert(bVersion);

if (bVersion > 4.5) alert(\"OK! :-)\");
else alert(\"Nicht!\");
}
</script>

Det skulle gerne tjekke efter fx version 4.5, men jeg har desværre kun mulighed for at teste det på en IE5...
Avatar billede Slettet bruger
28. september 2001 - 20:50 #18
Jeg er ikke 100% på det, men jeg tror, du kan bruge det til at tjekke en hvilken som helst version af i hvert fald (regner jeg med) IE.
Avatar billede cherita.dk Nybegynder
01. oktober 2001 - 10:25 #19
roenving>> det ser ud til at virker sådan nogenlunde. Men! Der popper bare ikke nogen alert op i en NS 4.03 og NS 3.03 (ved godt at kun meget få bruger en 3\'er og jeg har også kun DL den for test).

phoenixv>> der kommer korrekt alert ved NS ældre end 4.5 - men desværre også alert i en NS 4.51...

Avatar billede Slettet bruger
01. oktober 2001 - 17:10 #20
Så udksift følgende linje:
if (bVersion > 4.5) alert(\"OK! :-)\");
med:
if (bVersion >= 4.5) alert(\"OK! :-)\");
Virker det nu?
Avatar billede cherita.dk Nybegynder
01. oktober 2001 - 17:30 #21
phoenixv>> nope... :-?
http://cherita.dk/index.htm
Avatar billede Slettet bruger
29. oktober 2001 - 15:03 #22
Underligt... Men jeg er ikke lige i besiddelse af NS i øjeblikket, så jeg kan ikke så godt hjælpe dig lige nu... Desværre :-(
Avatar billede cherita.dk Nybegynder
20. november 2001 - 12:42 #23
Nu har jeg så fået denne kode.... men den vil altså heller ikke virke?!? Er der en af jer, der kan se, hvad der måtte være galt??

<script language=\"javascript\">
Function browserDetection

    Dim strBrowser, intVersion

    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.50\"  \' 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
          strBrowser = \"IE\"
    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

                    strBrowser = \"NS\"

              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))
                        strBrowser = \"OPERA\"
                    Else
                        \' Underlig browser - jeg aner ikke hvilken en det
er?! :o(
                        strBrowser = \"UNKNOWN\"
                    End If

              End If

          End If

    End If

    browserDetection = strBrowser & intVersion

End Function
</script>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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