choffo Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 Lurer på om noen vet om et php script som finner hvilken browser den besøkende har, og veksler mellom to .css filer etter hvilken browser den har. Noen som kan hjelpe meg? Lenke til kommentar
spiffers Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 $_SERVER['HTTP_USER_AGENT'] Den variabelen inneholder browser-info. Lenke til kommentar
magikern Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 http://no.php.net/get_browser Lenke til kommentar
am3k Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 (endret) Hvilken nettlesere er det du er ute etter? Følgende vil sjekke for Opera og IE: class nettleser{ var $Version = "Unknown"; var $Platform = "Unknown"; function nettleser(){ $agent = $_SERVER['HTTP_USER_AGENT']; $bd['nettles'] = "Ukjent"; $bd['versjon'] = "Ukjent"; if (eregi("opera",$agent)){ $val = stristr($agent, "opera"); if (eregi("/", $val)){ $val = explode("/",$val); $bd['nettles'] = $val[0]; $val = explode(" ",$val[1]); $bd['versjon'] = $val[0]; }else{ $val = explode(" ",stristr($val,"opera")); $bd['nettles'] = $val[0]; $bd['versjon'] = $val[1]; } }elseif(eregi("msie",$agent) && !eregi("opera",$agent)){ $val = explode(" ",stristr($agent,"msie")); $bd['nettles'] = $val[0]; $bd['versjon'] = $val[1]; }elseif(eregi("Firefox", $agent)){ $bd['nettles']="Firefox"; $val = stristr($agent, "Firefox"); $val = explode("/",$val); $bd['versjon'] = $val[1]; } $this->Version = $bd['versjon']; $this->Name = $bd['nettles']; } } Edit: la til FF Endret 26. desember 2005 av am3k Lenke til kommentar
choffo Skrevet 26. desember 2005 Forfatter Del Skrevet 26. desember 2005 (endret) Hvilken nettlesere er det du er ute etter? Følgende vil sjekke for Opera og IE: class nettleser{ var $Version = "Unknown"; var $Platform = "Unknown"; function nettleser(){ $agent = $_SERVER['HTTP_USER_AGENT']; $bd['nettles'] = "Ukjent"; $bd['versjon'] = "Ukjent"; if (eregi("opera",$agent)){ $val = stristr($agent, "opera"); if (eregi("/", $val)){ $val = explode("/",$val); $bd['nettles'] = $val[0]; $val = explode(" ",$val[1]); $bd['versjon'] = $val[0]; }else{ $val = explode(" ",stristr($val,"opera")); $bd['nettles'] = $val[0]; $bd['versjon'] = $val[1]; } }elseif(eregi("msie",$agent) && !eregi("opera",$agent)){ $val = explode(" ",stristr($agent,"msie")); $bd['nettles'] = $val[0]; $bd['versjon'] = $val[1]; } $this->Version = $bd['versjon']; $this->Name = $bd['nettles']; } } 5338740[/snapback] Det er Firefox, IE og Opera dette skal gjelde for.... Endret 26. desember 2005 av choffo Lenke til kommentar
am3k Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 la til FF over Btw: er da ikke nødvendig og poste hele koden igjenn... Lenke til kommentar
choffo Skrevet 26. desember 2005 Forfatter Del Skrevet 26. desember 2005 la til FF over Btw: er da ikke nødvendig og poste hele koden igjenn... 5338821[/snapback] takk:D Lenke til kommentar
choffo Skrevet 26. desember 2005 Forfatter Del Skrevet 26. desember 2005 men videre trenger jeg litt hjelp.. Jeg skal jo ha scriptet til å veklse mellom to .css filer. hvis brukeren har FF skal jbtrading.css inkluderes. Hvis opera skal jbtrading2.css inkluderes, og hvis IE skal jbtrading3.css inkluderes. Noen forslag? Lenke til kommentar
MC2 Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 Mye enklere å gjøre sånn. (Et script som jeg bare skrev her og nå. Ikke testet) Først rename. Hvor da det som er mellom "hello." og ".css" er browseren. de må være i lowercase. jbtrading.css --> hello.firefox.css jbtrading2.css --> hello.opera.css jbtrading3.css --> hello.ie.css (er ikke sikker om det er ie eller noe annet) $dir = "./css_files/"; //mappa der du har css filene $file_type = ".css"; // ikke forandre på denne hvis det er css filer $site_name = "hello"; // en prefix på css filnavnene. $default_browser = "default"; // sier seg selv... default $browser = get_browser(null, true); $browser['browser'] = strtolower($browser['browser']); // gjør om fra "Firefox" til "firefox" $css_file = $dir.$site_name.".".$browser['browser'].$file_type; // denne er da noe som "./css_files/hello.firefox.css" $default_css_file = $dir.$site_name.".".$default_browser.$file_type; // denne er da "./css_files/hello.default.css" if(file_exists($css_file) !== true) { // dette betyr at du ikke har laget en css fil for denne browseren $css_file = $default_css_file; }; echo '<link rel="stylesheet" type="text/css" href="'.$css_file.'">'; Det er mye enklere å gjøre sånn enn å skrive en elseif statement for hver browser. Nå trenger du bare å uploade en fil som heter hello.nettlesernavn.css når du lager en ny css fil for en nettleser. Lenke til kommentar
am3k Skrevet 26. desember 2005 Del Skrevet 26. desember 2005 Fordelen med kodesnutten jeg har lagt ut er at den fungerer på alle servere (er ikke alle servere som har browscap satt opp). Dessuten vil den ikke bli "lurt" selv om en har satt Opera til og identifisere seg som en annen nettleser. Tenken din ellers er god MC2 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå