Es gibt spezielle CSS-Angaben für bestimmte Browser. Meistens dienen diese jedoch um Anweisungen für ältere, meist Internet Explorer betreffend, festzulegen. Schwieriger wird es, wenn man beispielsweise mit relativen Positionierungen arbeitet. Dann stellt man schnell fest, dass viele Browser sehr unterschiedlich reagieren. Eine Möglichkeit das im Code abzufangen ist nachfolgende Browserweiche, die direkt in die index.php des Templates geschrieben werden kann:
<?PHP
/*mit $HTTP_USER_AGENT wird der verwendete Browser ausgelesen,
danach wird mit eregi in dem ausgelesenen String der Browsern gesucht */
if(eregi("opera",$_SERVER['HTTP_USER_AGENT']))
{
echo "Browser: Opera";
}
elseif(eregi("firefox",$_SERVER['HTTP_USER_AGENT']))
{
echo "Browser: Firefox";
}
elseif(eregi("phoenix",$_SERVER['HTTP_USER_AGENT']))
{
echo "Browser: Phoenix";
}
elseif(eregi("msie",$_SERVER['HTTP_USER_AGENT']))
{
echo "Browser: Internet Explorer";
}
else
{
echo "Es wird ein anderer Browser verwendet";
}
?>Ein konkretes Beispiel, welches ich mal benutzt habe:
<!-- Beginn Browserweiche >
<?php
if(eregi("firefox",$_SERVER['HTTP_USER_AGENT'])){
echo '<div id="sprache_ff"><jdoc:include type="modules" name="top_rechts" />
</div>';
} elseif((eregi("opera",$_SERVER['HTTP_USER_AGENT'])) ||
(eregi("msie",$_SERVER['HTTP_USER_AGENT']))) {
echo '<div id="sprache_ie"><jdoc:include type="modules" name="top_rechts" />
</div>';
} else {
echo '<div id="sprache"><jdoc:include type="modules" name="top_rechts" />
</div>';
}
?>
<! Ende Browserweiche >
In der template.css müssen dann natürlich die verschiedenen CSS-IDs definiert werden:
div#sprache_ie {
position:relative;
left:867px;
top:-26px;
width:40px;
}
div#sprache_ff {
position:relative;
left:768px;
top:60px;
width:40px;
}
div#sprache {
position:relative;
left:767px;
top:60px;
width:40px;
}



Twitter
Myspace
Mister Wong
Webnews
Icio
Oneview
Yigg
Newsider
Seekxl
Newskick
FAV!T
Kledy
BoniTrust
Power-Oldie
Bookmarks.cc
Linksilo
Readster
Linkarena
Simpy
Folkd
Googlize this
Wikio
Kommentare
aber wie untescheidet man in den einzelnen FireFox-Version en?
Ist immer MZ 5.0 aber FireFoxVersione n fallen hinten runter?
Axel
ich habe das Script in meine index.php auch mal eingebaut, aber jetzt wrd mir auf der Seite in der ersten zeile dies angezeigt:
Browser: FirefoxEs wird ein anderer Browser verwendet
Wie bekomme ich das denn weg?
Ich öffne die Seite doch mit Firefox.
Gruss Ana
das ist lediglich die "echo"-Ausgabe. "echo" ist eine PHP-Anweisung für eine Bildschirmausga be. Wenn du das obige Skript so eingebaut hast, dann wurde ordnungsgemäß erkannt, dass du den Firefox benutzt. Lediglich die "else-Anweisung" wurde auch noch abgearbeitet und der Text entsprechend ausgegeben. Was mich zwar etwa wundert, aber dennoch erstmal noch kein Grund zur Panik ist. ;)
Axel
if(eregi("msie",$_SERVER['HTTP_USER_AGENT']))
stattdessen lauten
elseif(eregi("msie",$_SERVER['HTTP_USER_AGENT']))
Dann klappts auch mit Firefox
Danke fürs Draufaufmerksam machen! :)
... Code korrigiert ...
if(getUserBrowser()=="msie"){...}
function getUserBrowser()
{
$array=array("opera","firefox","phoenix","msie");
foreach($array as $bkey => $bvalue)
{
if(eregi($bvalue,$_SERVER['HTTP_USER_AGENT']))
{
return $bvalue;
}
}
return null;
}