Avatar billede nemlig Professor
22. februar 2010 - 09:58 Der er 15 kommentarer og
1 løsning

Tjek browser version og kom med info-tekst, hvis gammel browser

Hejsa.
Jeg har et system kørende, som er skrevet i PHP.
Systemet fungerer perfekt under IE 7 og 8 samt Crome og FF.
Men hvis der anvendes IE6 eller tidligere, så fungerer systemet ikke korrekt.

Er det muligt, at lave et browser-tjek, og hvis browseren er IE6 eller tidligere, så vises der en informationstekst, hvorimod hvis browseren ikke er IE6 eller tidligere, så kører systemet som det er?
Avatar billede Slettet bruger
22. februar 2010 - 10:19 #1
Det kan man godt - og det er relativt nemt : )

Men det er ikke den bedste måde at gøre det på:
http://www.quirksmode.org/js/detect.html
Avatar billede michael_stim Ekspert
22. februar 2010 - 11:06 #2
Og hvis de skulle have slået javascript fra (ikke mange, men der er nogle), kan du køre PHP, efter javascriptet. Du kan se om det er slået fra, med en af de nævnte funktioner til sidst i omtalte tråd.

http://www.eksperten.dk/spm/902355#reply_7547010
Avatar billede nemlig Professor
22. februar 2010 - 11:51 #3
michael_stim:
Det ser godt ud...... :)
For mig at se, løser dit class-forslag i #4 min udfordring - uanset om javascript er sat til eller ej. Jeg smider koden øverst!

Så laver jeg det bare sådan her:

if($browser->Name == 'msie' && $browser->Version <= 7.0){
    header('Location: filnavn.php');
    exit();
  }
}

Er du enig i denne løsning.
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:01 #4
Hvad med alle andre browsere? Er det ikke bedre at checke for hvilke der IKKE er kompatible?
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:03 #5
if($browser->Name == 'msie' && $browser->Version <= 6.0){
    header('Location: filnavn.php');
    exit();
}
else{
    header('Location: der_hvor_vi_nu_skal_hen.php');
    exit();
}
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:05 #6
Eller hvis du har din kode i samme fil, kan du droppe else.
Avatar billede nemlig Professor
22. februar 2010 - 12:06 #7
Lige nu har jeg ikke 100% styr på, hvilke browsere der IKKE er kompatible. Men det er vel bare at udvide if-sætningen.

jeg tjekker netop for versioner, der ikke er kompatible, og hvis ikke, så skiftes til ny side (filnavn.php), hvor jeg informerer om, at den anvendte browser er forældet osv.... og hvad man så kan gøre!

Hvis browseren er kompatibel, fortsætter kodeafviklingen.
Avatar billede nemlig Professor
22. februar 2010 - 12:08 #8
Åh ja - nu kan jeg forstå forvirringen, da jeg har angivet IE 7 i koden. Det skulle have været IE6.

#6 Lige netop.
Avatar billede nemlig Professor
22. februar 2010 - 12:09 #9
Tak for hjælpen Michael_stim. Det er blevet en god og enkel løsning. Er du begyndt at samle point, må du lige smide et svar.
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:10 #10
Det var mig der så forkert. Du havde bare skrevet at version 7 også skulle sendes videre, det var derfor jeg tog det som større end.

if($browser->Name == 'msie' && $browser->Version <= 7.0){

Skal i så fald være:

if($browser->Name == 'msie' && $browser->Version < 7.0){
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:11 #11
Nej, du beholder dem bare selv ;o)
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:17 #12
PS. du kan se her hvilke data browscap giver, hvis du skulle få brug for det en anden gang.

Udskrevet med print_r

og i en tabel, uden tomme værdier.
Avatar billede michael_stim Ekspert
22. februar 2010 - 12:17 #13
Avatar billede nemlig Professor
22. februar 2010 - 12:27 #14
Sejt - tak for det.
Og tusind tak for hjælpen.
Avatar billede nemlig Professor
22. februar 2010 - 12:57 #15
lukker
Avatar billede hifi4all Nybegynder
03. marts 2010 - 08:34 #16
Fremgangsmåde via CSS, hvilket jeg foretrækker, såfremt der ikke skal lavet redirects:

http://drop-ie6.dk/hvordan
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