Jag använder mig av de nya taggarna i HTML5 och vissa kommandon fungerar inte även om jag skapar dessa taggar med hjälp av javaScript och därför vill jag nu kunna "hitta" alla IE8 och tidigare för att skapa div-ar bara för dem.
Jag har hittat en kod på php.net som gör att jag kan hitta att det är IE men jag får det inte att fungera med versionsnummret och alltså hittar den alla IE och jag har även lyckats få fram versionsnummret men jag vet inte hur jag hämtar ut det så jag kan använda det till en if-sats
get_browser() fungerar inte så inga förslag där det används tack...
Om det bara är IE du är intresserad av att skapa extra kod för så skulle du kunna använda Conditional Comments. Vill du använda en PHP-lösning så kan du väl visa den kod du har försökt med så kan vi peka dig i rätt riktining.
function browser_info($agent=null)
{
// Declare known browsers to look for
$known = array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape',
'konqueror', 'gecko');
// Clean up agent and build regex that matches phrases for known browsers
// (e.g. "Firefox/2.0" or "MSIE 6.0" (This only matches the major and minor
// version numbers. E.g. "2.0.0.6" is parsed as simply "2.0"
$agent = strtolower($agent ? $agent : $\_SERVER\['HTTP_USER_AGENT'\]);
$pattern = '#(?\<browser\>' . join('\|', $known) .')\[/ \]+(?\<version\>\[0-9\]+(?:\\.\[0-9\]+)?)#';
// Find all phrases (or return empty array if none found)
if (!preg_match_all($pattern, $agent, $matches))
{
return array();
}
// Since some UAs have more than one phrase (e.g Firefox has a Gecko phrase,
// Opera 7,8 have a MSIE phrase), use the last one found (the right-most one
// in the UA). That's usually the most correct.
$i = count($matches\['browser'\])-1;
return array($matches\['browser'\]\[$i\] =\> $matches\['version'\]\[$i\]);
}
$ua = browser_info();
print_r($ua);
echo "utanför ifen".$ua['version'];
if (($ua['version'] > 8) && $ua['msie'])
{
echo 'inne i if-satsen';
}
Har jag försökt mig på men jag vet inte om jag har missförstått nåt eller varför jag inte får det att fungera...
Jag gör inte jätte mycket i php och det var ett tag sen jag höll på med det så jag kan ju mycket väl ha missat något jätte banalt... (jag har provat alla möjliga varianter med if-satsen utan att få det att fungera)...
Jag har även provat med de där Conditinal comments men jag får inte riktigt till det då heller och sen vill det inte valideras med det så därför tänkte jag att det var lättare att göra en php-funktion som jag så kan använda mig av på de ställena där jag behöver (utan att det blir allt för mycket onödig kod).
Den array du returnerar har inget index som heter 'version'. Raden med print_r() visar precis vad arrayen innehåller. Testa att ändra din return-rad i funktionen till någonting liknande detta: