Avatar billede mik28 Seniormester
02. oktober 2002 - 14:14 Der er 19 kommentarer og
1 løsning

Browserversionskontrol

Hvordan laver jeg bedst et smart lille script som tjecker clienten browserversion :-) Jeg skal vel bruge

navigator.appVersion;
Avatar billede Slettet bruger
02. oktober 2002 - 14:17 #1
Næ, den er ikke særligt smart. Du bliver nødt til at fortælle, hvilke browsere og versioner du specifikt vil tjekke for!
Avatar billede mik28 Seniormester
02. oktober 2002 - 14:22 #2
Så mange som muligt :-) Nej i første omgang drejer det sig bare om at skeldne mellem IE 5 og ned og IE6 og op.
Avatar billede Slettet bruger
02. oktober 2002 - 14:25 #3
Måske kan du bruge dette:

<script>
ns6 = (document.getElementById && !document.all);
ns4 = (document.layers);
ie5 = (document.getElementById && document.all);
ie4 = (!ie5 && document.all);
</script>

Den tester for NS6+, NS4, IE4 og IE4+.
Avatar billede mik28 Seniormester
02. oktober 2002 - 14:36 #4
hmmm, ikke sådan umiddelbart. Jeg ville lige se hvad der ligger i variablerne

<html>
<body>
<script type="text/javascript">

ns6 = (document.getElementById && !document.all);
ns4 = (document.layers);
ie5 = (document.getElementById && document.all);
ie4 = (!ie5 && document.all);

document.write(ns6 +"  "+ns4+"  "+ie5+"  "+ie4);

</script>
</body>
</html>
Avatar billede Slettet bruger
02. oktober 2002 - 14:41 #5
Så siger vi sådan her:

ns6 = (document.getElementById && !document.all) ? true : false;
ns4 = (document.layers) ? true : false;
ie5 = (document.getElementById && document.all) ? true : false;
ie4 = (!ie5 && document.all) ? true : false;
Avatar billede Slettet bruger
02. oktober 2002 - 14:43 #6
Det virker da i hvert fald i IE5 og NS6 (har testet), og det skulle unde mig meget, hvis det ikke også virker i de andre implicerede browsere.
Avatar billede Slettet bruger
02. oktober 2002 - 14:43 #7
unde = undre
Avatar billede mik28 Seniormester
02. oktober 2002 - 15:04 #8
Du har naturligvis ret :-), jeg er bare ikke helt med på logikken i det :-(
Hvordan tester jeg for om det er en IE6.0
Avatar billede mik28 Seniormester
02. oktober 2002 - 15:13 #9
pointene er dine. Jeg kunne bare godt tænke mig at få IE6 med også. Jeg kan jo bare slutte mig frem til at det nok er den :-), men det er da federe at være helt sikker :-))))))
Avatar billede Slettet bruger
02. oktober 2002 - 20:38 #10
Jeg forstår ikke, hvorfor du vil tjekke for IE6. Der er næsten ingen forskel på IE5, 5.5 og 6. Men OK, se her:

ie6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false;
ns6 = (document.getElementById && !document.all) ? true : false;
ns4 = (document.layers) ? true : false;
ie5 = (!ie6 && document.getElementById && document.all) ? true : false;
ie4 = (!ie5 && document.all) ? true : false;
Avatar billede mik28 Seniormester
04. oktober 2002 - 12:56 #11
tak for hjælpen :-)
Avatar billede mik28 Seniormester
04. oktober 2002 - 15:34 #12
Hvorfor er ie5 true hvis jeg åbner i Mozilla
Avatar billede mik28 Seniormester
04. oktober 2002 - 15:34 #13
Vrøvl Opera
Avatar billede Slettet bruger
04. oktober 2002 - 15:40 #14
Fordi Opera forstår de samme ting som IE5.
Har du også brug for at tjekke for Opera?
Avatar billede mik28 Seniormester
06. oktober 2002 - 11:21 #15
Det ville da være fedt. Problemet opstod da jeg fandt ud af at IE5 og IE6 opfatter vinduer på forskellige måder. Det er totalt kool at du hjælper. Hvad betyder ? forresten
Avatar billede Slettet bruger
08. oktober 2002 - 21:23 #16
(betingelse) ? SAND : FALSK

Det er en nemmere måde at skrive dette på:

if (document.layers)
ns4 = true;
else
ns4 = false;

Opera burde kunne testes på denne måde:

op = (navigator.appName == "Opera") ? true : false;
Avatar billede Slettet bruger
08. oktober 2002 - 21:26 #17
Måske er dette smartere:

op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

Se i øvrigt her, hvis du også har brug for versionen:
http://www.javascriptkit.com/javatutors/navigator.shtml
Avatar billede mik28 Seniormester
08. oktober 2002 - 21:26 #18
kunne man i princippet skrive
op = (navigator.appName == "Opera") ? svend : bendt;
Avatar billede mik28 Seniormester
08. oktober 2002 - 21:31 #19
bare nysgerrig
Avatar billede Slettet bruger
11. oktober 2002 - 16:40 #20
Hvis svend og bendt er variabler, så ja.
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