Kai Lahmann: browserweiche

Beitrag lesen

hi

<?
if(strstr($HTTP_USER_AGENT, "MSIE"))
{
$browser="ie";
}else
{
$browser="ns";
}
?>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet_<? echo $browser; ?>.css">

Wenn Du auch noch NS4 von Mozilla unterscheiden willst, schau' Dir mal z.B. http://www.webmasterbase.com/article/619 an, da ist ein Beispiel, das fast alle IE/NS-Versionen unterscheidet.

grandios, wirklich! Zum einen hast du mit dem Verhalten einen TechEvang-Bug in Bugzilla sicher, zum anderen kann man gar nicht sicherer über falsche Browser-IDs stolpern - da tut's ja schon Opera's Pseudo-Fake, den man mit 'nem Klick in der Statusleiste aktiviert...
Wenn du schon ünbedigt über den Useragent gehen willst [was fast unmöglich ist, da Netscape 4 (um den es hier ja eigentlich geht) kein eindeutiges "Stichwort" da drin hat, im Gegensatz zu den meisten anderen...] dann so:

if(strstr($HTTP_USER_AGENT, "Netscape"))
{
 if(!strstr($HTTP_USER_AGENT, "Gecko") && (!strstr($HTTP_USER_AGENT, "Opera"))
 {
  $browser="nn4";
 }
}
<link rel="stylesheet" type="text/css" href="style_<? echo $browser; ?>.css">

..womit dann auch die Variablennamen zur eigentlichen Frage passen. Das ganze da oben geht jetzt nur noch schief, wenn jemand einem Browser wirklich die komplette Netscape4-dent mitgibt. Trotz allem ist die reine CSS-Lösung immer noch 100mal zuverlässiger.

Grüße aus Bleckede

Kai