Avatar billede kentoix Nybegynder
21. juli 2003 - 21:51 Der er 14 kommentarer

Browser check og cookies!?

Browser: Nogen der kan give mig et eller flere simple browser check scripts der finder browsernavn, version, platform?

Cookies: Mine cookies virker ikke i alle browsere ... er der en grund? F.eks. kan jeg ikke læse cookies oprettet i IE kan ikke læses i Opera eller Netscape ... ?
Avatar billede kentoix Nybegynder
21. juli 2003 - 21:53 #1
Må meget gerne være bulletproof ... Dem jeg har fundet rundt omkring og dem jeg selv har fået bikset sammen virker ikke helt som de skulle ...
Avatar billede gonza.dk Nybegynder
21. juli 2003 - 21:53 #2
$browser = $_SERVER["HTTP_USER_AGENT"];

echo $browser;
Avatar billede kentoix Nybegynder
21. juli 2003 - 22:05 #3
Jep den kender jeg godt men det var ikke lige det jeg mente ...

if ($browser == "MSIE") { echo "du kører IE"; }
Avatar billede gonza.dk Nybegynder
21. juli 2003 - 22:11 #4
<?php

if ($_SERVER["HTTP_USER_AGENT"] == "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"){
echo "Du kører med Microsoft Internet Explorer 6.0";
}

else {
echo "Browseren er ukendt...";
}
?>

tror ikke du kan få den simplere, så skal du bare vide hvilket output de forskellige browsere giver...
Avatar billede ohmish Nybegynder
21. juli 2003 - 22:23 #5
En ældre, ikke så elegant metode. men det virker.

$browser = $_SERVER['REMOTE_ADDR']; $os = $browser;
if (preg_match("/opera/i", $browser)) { $brow = "Opera"; }
elseif (preg_match("/konqueror/i", $browser)) { $brow = "Konqueror"; }
elseif (preg_match("/msie/i", $browser)) { $brow = "Internet Explorer"; }
elseif (preg_match("/lynx/i", $browser)) { $brow = "Lynx"; }
elseif (preg_match("/mozilla/i", $browser) || preg_match("/Netscape/i", $browser) || preg_match("/Gecko/i", $browser)) { $brow = "Netscape"; }
else { $brow = "unknown"; }
if (preg_match("/win95/i", $os) || preg_match("/windows 95/i", $os)) { $osys = "Windows 95"; }
elseif (preg_match("/Win 9x 4\.9/i", $os)) { $osys = "Windows ME"; }
elseif (preg_match("/winnt/i", $os)) { $osys = "Windows NT"; }
elseif (preg_match("/windows me/i", $os)) { $osys = "Windows ME"; }
elseif (preg_match("/windows xp/i", $os) || preg_match("/Windows NT 5\.1/i", $os)) { $osys = "Windows XP"; }
elseif (preg_match("/windows 98/i", $os) || preg_match("/win98/i", $os)) { $osys = "Windows 98"; }
elseif (preg_match("/windows 2000/i", $os) || preg_match("/windows nt 5/i", $os)) { $osys = "Windows 2000"; }
elseif (preg_match("/windows nt/i", $os)) { $osys = "Windows NT"; }
elseif (preg_match("/mac/i", $os)) { $osys = "Mac"; }
elseif (preg_match("/linux/i", $os) || preg_match("/konqueror/i", $os)) { $osys = "Linux"; }
elseif (preg_match("/hp-ux/i", $os) || preg_match("/sunos/i", $os) || preg_match("/x11/i", $os)) { $osys = "Unix"; }
else { $osys = "unknown"; }

echo "Du bruger $browser browser og $os platform";
Avatar billede ohmish Nybegynder
21. juli 2003 - 22:25 #6
hov.. den sidste linie skal rettes til:

echo "Du bruger $brow browser og $osys platform";
Avatar billede kentoix Nybegynder
21. juli 2003 - 22:30 #7
ohmish > den ligner meget den fra php.net: http://dk2.php.net/manual/en/function.get-browser.php som feedback at blichmann dot de har skrevet men problemet er at den ikke er sikker nok da den siger at Opera er en IE browser ... Nu vil jeg lige prøve dit script og se om det virker ...
Avatar billede ohmish Nybegynder
21. juli 2003 - 22:37 #8
Opera browseren kan i indstillinger sættes (og er det som default) til at blive opfattet som IE.
Avatar billede kentoix Nybegynder
21. juli 2003 - 22:53 #9
Hvad skal man så gøre hvis folk har sat den til at opfatte den som IE og man selv vil have den til at opfatte som Opera. Jeg mener min hjemmeside selvom jeg har prøvet i meget lang tid at lave den crossbrowser ser ikke ud som i Opera som den gør i IE som den er designet til.
Avatar billede repsac Nybegynder
22. juli 2003 - 01:06 #10
Nu kan det være jeg spørger dumt, men hvorfor søren er det interessant at kunne fortælle brugere hvilken browser vedkommende bruger? -- det ved brugeren da for fa'en godt selv... ... og hvorfor så ikke bare gemme $_SERVER['REMOTE_ADDR'] i en db?

/me is a bit stupid at the moment ;)
Avatar billede repsac Nybegynder
22. juli 2003 - 01:08 #11
ohmish: Whoooh, du har jo glemt den ellers glimrende browser links (Elinks) :)
Avatar billede roenving Novice
22. juli 2003 - 02:30 #12
>>repsac

-- jeg kan godt se en grund til at angive hvilken browser der bruges, det er:

-- og så er det man har brug for som koder på internettet mest, om den bruser brugeren bruger kan det, man er i gang med at bruge, så medmindre det er en hel suite af netoder, som kun dur på den ene eller den anden browser, er det mest ehsigtsmæssigt at spørge på metoden: if(document.getElementById)
Avatar billede repsac Nybegynder
22. juli 2003 - 23:44 #13
roenving: Jeg undskylder, men er du ikke rar at forklare det én gang mere? (Er det ironi, eller mener du der er en grund til at angive hvilken browser der bruges?)

... og så er der vel ingen der laver noget "livsnødvendigt" i JavaScript, vel?
Avatar billede roenving Novice
23. juli 2003 - 02:20 #14
>>repsac

*gg*

-- ja ret tykbundet ironi ... (læs det som står efter : men på samme linje !-)

-- og lave noget 'livsnødvendigt' i javascript *rotflmao*

-- hvad som sker i det åbne browser-vindue kan da aldrig blive livsnødvendigt ,-)
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