Om du vill bygga det PHP-baserat (vilket även ger dig möjlighet att kolla ett antal till webläsare, och sökrobotar) så kan du använda '
get_browser()' i PHP.
Läs på dig lite om funktionen, sen är det bara att bygga med en if-sats typ denna:
Kod: Markera allt
<?php
$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);
$b = $browser['browser'];
if (strtolower($b) == 'firefox') {
echo '<link rel="stylesheet" type="text/css" href="firefox.css"/>';
} elseif (strtolower($b) == 'chrome') {
echo '<link rel="stylesheet" type="text/css" href="chrome.css"/>';
} elseif(strtolower($b) == 'android') {
echo '<link rel="stylesheet" type="text/css" href="android.css"/>';
} elseif(strtolower($b) == 'ie') {
echo '<link rel="stylesheet" type="text/css" href="ie.css"/>';
} else {
echo '<link rel="stylesheet" type="text/css" href="default.css"/>';
}
?>
I browscap finns även Nokia, iPhone, Opera, Elinks, Konqueror och ett ton andra webläsare.
MEN du måste själv ladda ner och lägga browscap.ini i rätt mapp.
Det finns en
här.
Du kan titta i den för att hitta flera om du vill anpassa för fler webläsare.
Om den som hostar din sida inte lagt in browscap kan du använda exemplet nedan ist:
Kod: Markera allt
<?PHP
class Browser
{
private $props = array("Version" => "0.0.0",
"Name" => "unknown",
"Agent" => "unknown") ;
public function __Construct()
{
$browsers = array("firefox", "msie", "opera", "chrome", "safari",
"mozilla", "seamonkey", "konqueror", "netscape",
"gecko", "navigator", "mosaic", "lynx", "amaya",
"omniweb", "avant", "camino", "flock", "aol");
$this->Agent = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach($browsers as $browser)
{
if (preg_match("#($browser)[/ ]?([0-9.]*)#", $this->Agent, $match))
{
$this->Name = $match[1] ;
$this->Version = $match[2] ;
break ;
}
}
}
public function __Get($name)
{
if (!array_key_exists($name, $this->props))
{
die "No such property or function $name)" ;
}
return $this->props[$name] ;
}
public function __Set($name, $val)
{
if (!array_key_exists($name, $this->props))
{
SimpleError("No such property or function.", "Failed to set $name", $this->props) ;
die ;
}
$this->props[$name] = $val ;
}
}
?>
example code
<?PHP
$browser = new Browser ;
echo "$Browser->Name $Browser->Version" ;
?>
result when client using Firefox 3.0.11
firefox 3.0.11
result when client using unknown browser
unknown 0.0.0
Denna återfinns i kommentarerna till '
get_browser()'.